1. 程式人生 > >.bat批處理學習

.bat批處理學習

讀取檔案內容賦值給一個變數

方法一

set /P OEM=<tmp.txt

方法二

for /f %%i in (.\tmp.txt) do (echo %%i)  & echo %%i

複製檔案

copy d:\wo_test\assets\channelcode d:\wo_test\123\assets

把一個檔案的內容替換到另一個檔案的指定地方

@echo off
setlocal enabledelayedexpansion

set "str1=ccc"
set /P str2=<gamename.txt

for %%i in (new.txt) do (
for /f "usebackq delims=" %%a in ("%%~i") do (
set "var=%%a"



echo !var:%str1%=%str2%!>>
"%%~ni.tmp")
move /y "%%~dpni.tmp" "%%~i")

ren "d:\12.doc"   "00.doc"
修改d盤根目錄下12.doc檔名為 00.doc
照這樣寫就行

ren "路徑\檔案" "新檔名"

要是路徑或檔名含有空格,加上半形引號

批處理刪除指定資料夾下的所有檔案

@echo off 
echo 正在清除系統垃圾檔案,請稍等...... 
del /f /s /q E:\happy\*.*
echo 清除系統LJ完成! 
echo. & pause 
用上面的這個只能刪除E:\happy\裡的檔案,而資料夾還都在,
下面連資料夾也刪
rd /s /q E:\happy

del 殺檔案
RD 殺檔案和目錄

.bat與jar之間的相互呼叫

在.bat中呼叫jar包執行裡面的程式碼

@echo on
set JAVA_HOME=./jre
set path=%JAVA_HOME%\bin;%path%
set classpath=.;lib\excel.jar;lib\slf4j-api-1.6.1.jar;slf4j-log4j12-1.6.1.jar;lib\jone.jar;
java com.test.TestMain //這全類名 是jar中包含main程式主入口
pause

java呼叫bat檔案

①Runtime.getRuntime().exec("cmd /k startc:\\test.bat");

或者② Desktop.getDesktop().open(new File("d:\abc.bat"));