DOS命令編程

示例

1. echo off

  • When echo is turned off, the command prompt doesn't appear in the Command Prompt window. To display the command prompt again, type echo on.
  • @echo off在批處理文件第一行,在整個bat 文件中生效
@echo off
rem HelloWorld.bat,this line need after @echo off to avoid show
set x = hello world
echo %x%

結(jié)果顯示

>HelloWorld.bat
hello world

2. for

  • %%variable雙百分號表示變量,變量名區(qū)分大小寫不同于windows下文件名
  • FOR %variable IN (set) DO command [command-parameters]
    簡單示例
@echo off
rem example 1
for %%i in (*.bat) do @echo %%i

for 擴展命令

  • 指定與目錄名匹配,而不與文件名匹配
    FOR /D %variable IN (set) DO command [command-parameters]
  • 以 [drive:]path 為根的目錄樹,指向每個目錄
    FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
  • 以增量形式從開始到結(jié)束的一個數(shù)字序列
    FOR /L %variable IN (start,step,end) DO command [command-parameters]
    因此,(1,1,5) 將產(chǎn)生序列 1 2 3 4 5,(5,-1,1) 將產(chǎn)生
    序列 (5 4 3 2 1)。
@echo off
for /L %%i in (1,1,5) do @echo %%i

>test_for_l.bat
1
2
3
4
5
  • 遍歷文件 /F
    FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
    FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
    FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
@echo off
FOR /F "eol=; tokens=1,2,* delims=," %%i in (test_for_f.txt) do @echo %%i %%j %%k

line2 bb
line3 cc dd

test_for_f.txt內(nèi)容
;line1,aa
line2,bb
line3,cc,dd
  • eol=c - 指一個行注釋字符的結(jié)尾(就一個)
  • skip=n - 指在文件開始時忽略的行數(shù)。
  • delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集。
  • tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容