1. %* 用法
用於傳遞引數給批處理檔案中的命令或批處理
例1. 批處理檔案 test.bat, 內:
dir %*
命令:d:/temp>setupcmdline.bat "e:/test"
結果:d:/temp>dir "e:/test"
驅動器 e 中的卷沒有標籤。
卷的序列號是 5ef3-a7a1
e:/test 的目錄
2010-09-14 14:27 .
2010-09-14 14:27 ..
2010-09-14 14:27 mytest
2010-09-14 14:27 webservice
0 個檔案 0 位元組
4 個目錄 5,349,498,880 可用位元組
例2. 批處理檔案test.bat內容:
for %%p in ( %* ) do echo %%p
命令:d:/temp>test "e:/test" "e:/test2" "e:/temp"
結果:d:/temp>for %p in ("e:/test" "e:/test2" "e:/temp") do echo %p
d:/temp>echo "e:/test"
"e:/test"
d:/temp>echo "e:/test2"
"e:/test2"
d:/temp>echo "e:/temp"
"e:/temp"
2. pause 自定義提示訊息
pause命令執行後一般出現 "按任意鍵繼續..." 字樣,可以使用下面的手段定義訊息:
@echo 使用我自己定義的訊息
pause > nul
3. cd 命令
/d引數, 可以切換包括碟符的路徑
命令:d:/temp>cd /d "e:/test"
結果:e:/test>
4. %cd%指當前路徑
例: 命令:
c:/documents and settings/administrator>echo %cd%
結果:c:/documents and settings/administrator
5. %0, %1, %2, %n
%0指批處理檔案本身
%1指批處理檔案第乙個引數
%2指批處理檔案第二個引數
例:檔案 test.bat內容入下:
echo %%0=%0
echo %%1=%1
echo %%2=%2
命令:
d:/temp>setupcmdline.bat param1 param2
結果:
d:/temp>echo %0=setupcmdline.bat
%0=setupcmdline.bat
d:/temp>echo %1=param1
%1=param1
d:/temp>echo %2=param2
%2=param2
6. %%
對%的轉義,即作為%字元本身輸出?
如上面的例子,將test.bat內容修改如下:
echo %0=%0
echo %1=%1
echo %2=%2
命令:
d:/temp>setupcmdline.bat param1 param2
結果:
d:/temp>echo setupcmdline.bat=setupcmdline.bat
setupcmdline.bat=setupcmdline.bat
d:/temp>echo param1=param1
param1=param1
d:/temp>echo param2=param2
param2=param2
7. %~dp0
即對%0進行處理,去掉引號
%~d0 去引號,取碟符
例1. 批處理檔案test.bat內容:
echo %1
echo %~d1
echo %~dp1
命令:d:/temp>test "e:/test"
結果:d:/temp>echo "e:/test"
"e:/test"
d:/temp>echo e:
e:d:/temp>echo e:/
e:/
例2.
命令:
d:/temp>test "e:/test/"
結果:d:/temp>echo "e:/test/"
"e:/test/"
d:/temp>echo e:
e:d:/temp>echo e:/test/
e:/test/(注意這裡的區別,test/被加了進來)
例3.test.bat內容:
@echo %1
@echo %~d1
@echo %~dp1
@echo %~dpn1
命令:
d:/temp>setupcmdline.bat "e:/test/test.dat"
結果:d:/temp>set cur_dir=d:/temp
"e:/test/test.dat"
e:e:/test/
e:/test/test
e:/test/test.dat
d-取碟符; p-取路徑; n-取檔名
命令參考:
~i - 刪除任何引號("),擴充 %i
%~fi - 將 %i 擴充到乙個完全合格的路徑名
%~di - 僅將 %i 擴充到乙個驅動器號
%~pi - 僅將 %i 擴充到乙個路徑
%~ni - 僅將 %i 擴充到乙個檔名
%~xi - 僅將 %i 擴充到乙個副檔名
%~si - 擴充的路徑只含有短名
%~ai - 將 %i 擴充到檔案的檔案屬性
%~ti - 將 %i 擴充到檔案的日期/時間
%~zi - 將 %i 擴充到檔案的大小
批處理Dos命令
來自vista 有關某個命令的詳細資訊,請鍵入 help 命令名 assoc 顯示或修改副檔名關聯。attrib 顯示或更改檔案屬性。break 設定或清除擴充套件式 ctrl c 檢查。bcdedit 設定啟動資料庫中的屬性以控制啟動載入。cacls 顯示或修改檔案的訪問控制列表 acl call...
dos批處理中 dp0 的說明
dp0 d 為drive的縮寫,即為驅動器,磁碟 p 為path縮寫,即為路徑,目錄 cd是轉到這個目錄,使用 d 開關,除了改變驅動器的當前目錄之外,還可改變當前驅動器。選項語法 0 刪除任何引號 擴充 0 f0 將 0 擴充到乙個完全合格的路徑名 f 是file,即檔案 d0 僅將 0 擴充到乙...
DOS批處理檔案
dos下的可執行檔案有三種,分別是exe,com和bat。其中,exe和com檔案都是二進位制形式的,只有bat檔案是文字形式的,可以直接閱讀。因此,bat檔案和以上二進位制可執行檔案相比,內容要簡單的多。這些檔案內包含著dos命令的集合,通常叫作批處理檔案。批處理檔案的組成雖然比較簡單,但其用處非...