///《吹彈牛皮之Unity 示例批處理操作檔案和檔案夾(二)》版權歸原作者小菜(趙晉偉)所有,請勿随意轉載和抄襲一經作者發現将需要追求起法律責任和經濟損失!謝謝!
//
上篇簡單介紹了批處理的一些常用指令和用法。空說不練圖空有其紙上談兵,本篇内容小菜就來實戰一些批處理應用場合。示例如下:
示例:
1].批量更改檔案名
2].自動建立編号0-99的100個檔案
3].自動循環運作ping通某個位址
4].顯示批處理的完整路徑資訊
5].檔案名自動更名為目前系統日期
6].自動接收使用者輸入資訊
7].自動替換指定文本檔案中的指定字元串
8].自動在文本檔案前面插入指定内容
批量更改檔案名
[例]
main_test.bat

同時可以在批處理同級目錄随意建立一些檔案用于測試。
[解釋]
1).set extension=.rar 聲明一個變量,值為.rar
2).set /a sum=0 用于聲明計數器變量,/a代表數值類型。
3).for循環(*)的作用可以将和批處理同級檔案的檔案名都給取到,并指派給%%m疊代。
4).ren 重命名關鍵字
5).set sum=/set extension= 删除變量
[執行結果]
自動建立編号0-99的100個檔案
[例]
main_test.bat
[解釋]
1).echo.代表在cmd視窗中回車換行
2)./l(L)是for循環的參數,用于指定數值範圍内循環,該範圍由in後括号内的值決定,括号中的由3個,号隔開的數字,第1個代表循環的起始值,第2個代表步長,第3個代表循環的終止值。
3). >>是重定向符号,用于将左邊的資訊添加到右邊建立檔案的内容裡。
[執行結果]
自動循環運作ping通某個位址
[例]
main_test.bat
[解釋]
1).ping指令,用于測試一個網絡位址的連接配接。
2).ping www.sina.com.cn>nul 中的>是重定向符号作用是左邊是資料源,右邊是會替換的目的資料。>nul的整體意思是将ping指令輸出的資訊發送到空裝置上而不顯示在螢幕上,進而保證指令視窗的整潔。
3). %errorlevel% 正常的ping通後,ping指令會設定環境變量errorlevel的值為0,ping指令失敗則會設定errorlevel為一個非0值,是以在if成立時也就是ping不通的情況。
4).goto指令保證再ping不通時嘗試發起ping again,直至ping成功後不再執行。
[執行結果]
顯示批處理的完整路徑資訊
[例]
main_test.bat
[解釋]
1).%0 代表的是批處理檔案名本身。
2).%~dp0 中%0表示的是檔案名資訊,~為擴充符号,~dp組合達标将指定的變量名擴充到路徑。是以%~dp0則代表了該批處理的完成路徑資訊。
[執行結果]
檔案名自動更名為目前系統日期
[例]
main_test.bat
[解釋]
1).%1 為指令行傳給批處理要更名的檔案。
2).%0 表示批處理名。
3).%~x1 ~x表示取變量的擴充名,%~x1表示取被修改檔案名的擴充名。
4)./f 參數表示使用檔案解析過程處理指令輸出、字元串和檔案内容。
5)."tokens=1-3 delims=/- " tokens 用于定義for中的變量個數,delims 用于定義字元串的分隔符。整體表示将"2020-10-31 周六"字元串分割為"2020" "10" "31" "周六",并将前3個字元串依次指派給"%%A"、"%%B"、"%%C"3個變量。
6).ren 重命名關鍵字
[執行結果]
自動接收使用者輸入資訊
[例]
main_test.bat
[解釋]
1). /p 以字元形式處理參數。
2).pause 暫停批處理的批處理的運作,并給出使用者提示操作。
3).dir 列舉檔案目錄
[執行結果]
自動替換指定文本檔案中的指定字元串
[例]
main_test.bat
file.txt
[解釋]
1). setlocal enabledelayexpansion 啟用批處理變量延時擴充功能,當批進行中啟用該功能後,可以使用"!"批處理執行時擴充變量。
2).利用"cd."建立一個名為file_temp.txt的空檔案,用于存放替換過的指定字元串。
3).del /q file_temp.txt 删除檔案
[執行結果]
自動替換指定文本檔案中的指定字元串
[例]
main_test.bat
file.txt
[解釋]
1). setlocal enabledelayexpansion 啟用批處理變量延時擴充功能,當批進行中啟用該功能後,可以使用"!"批處理執行時擴充變量。
2).利用"cd."建立一個名為file_temp.txt的空檔案,用于存放替換過的指定字元串。
3).del /q file_temp.txt 删除檔案
[執行結果]
自動在文本檔案前面插入指定内容
[例]
main_test.bat
file.txt
[解釋]
1). cd. > content.temp建立一個空的臨時檔案
2). >> 重定向符,将左邊的内容追加到右邊的内容中。
3). %date% 目前系統日期。
4). %time% 目前系統時間。
5).copy content.temp + %1 temp 将content.temp與%1中的内容按照順序放在一起,然後存入temp檔案。
[執行結果]
感謝大家的關注和閱讀。謝謝!
///《吹彈牛皮之Unity 示例批處理操作檔案和檔案夾(二)》版權歸原作者小菜(趙晉偉)所有,請勿随意轉載和抄襲一經作者發現将需要追求起法律責任和經濟損失!謝謝!
//