锘??xml version="1.0" encoding="utf-8" standalone="yes"?> if 鐨勫懡浠よ甯姪涓叧浜庢鐐圭殑鎻忚堪涓? 渚嬶細test.bat鐨勫唴瀹瑰涓嬶紙娉ㄦ剰錛岀敤if errorlevel鍒ゆ柇榪斿洖鍊兼椂錛岃鎸夎繑鍥炲間粠楂樺埌浣庢帓鍒楋級: FOR %variable IN (set) DO command [command-parameters] %variable 鎸囧畾涓涓崟涓瀛楁瘝鍙浛鎹㈢殑鍙傛暟銆?br> (set) 鎸囧畾涓涓垨涓緇勬枃浠躲傚彲浠ヤ嬌鐢ㄩ氶厤絎︺?br> command 鎸囧畾瀵規瘡涓枃浠舵墽琛岀殑鍛戒護銆?br> command-parameters 鍦ㄦ壒澶勭悊紼嬪簭涓嬌鐢?FOR 鍛戒護鏃訛紝鎸囧畾鍙橀噺璇蜂嬌鐢?%%variable 濡傛灉鍛戒護鎵╁睍琚惎鐢紝涓嬪垪棰濆鐨?FOR 鍛戒護鏍煎紡浼氬彈鍒?br>鏀寔: FOR /D %variable IN (set) DO command [command-parameters] 濡傛灉闆嗕腑鍖呭惈閫氶厤絎︼紝鍒欐寚瀹氫笌鐩綍鍚嶅尮閰嶏紝鑰屼笉涓庢枃浠?br> 鍚嶅尮閰嶃?/p>
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 媯鏌ヤ互 [drive:]path 涓烘牴鐨勭洰褰曟爲錛屾寚鍚戞瘡涓洰褰曚腑鐨?br> FOR 璇彞銆傚鏋滃湪 /R 鍚庢病鏈夋寚瀹氱洰褰曪紝鍒欎嬌鐢ㄥ綋鍓?br> 鐩綍銆傚鏋滈泦浠呬負涓涓崟鐐?.)瀛楃錛屽垯鏋氫婦璇ョ洰褰曟爲銆?/p>
FOR /L %variable IN (start,step,end) DO command [command-parameters] 璇ラ泦琛ㄧず浠ュ閲忓艦寮忎粠寮濮嬪埌緇撴潫鐨勪竴涓暟瀛楀簭鍒椼?br> 鍥犳錛?1,1,5) 灝嗕駭鐢熷簭鍒?1 2 3 4 5錛?5,-1,1) 灝嗕駭鐢?br> 搴忓垪 (5 4 3 2 1)銆?/p>
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] 鎴栬咃紝濡傛灉鏈?usebackq 閫夐」: FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] filenameset 涓轟竴涓垨澶氫釜鏂囦歡鍚嶃傜戶緇埌 filenameset 涓殑 eol=c - 鎸囦竴涓娉ㄩ噴瀛楃鐨勭粨灝?灝變竴涓? 鏌愪簺鑼冧緥鍙兘鏈夊姪: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k 浼氬垎鏋?myfile.txt 涓殑姣忎竴琛岋紝蹇界暐浠ュ垎鍙鋒墦澶寸殑閭d簺琛岋紝灝?br> 姣忚涓殑絎簩涓拰絎笁涓鍙蜂紶閫掔粰 for 鍑芥暟浣擄紝鐢ㄩ楀彿鍜?鎴?br> 絀烘牸鍒嗛殧絎﹀彿銆傝娉ㄦ剰錛屾 for 鍑芥暟浣撶殑璇彞寮曠敤 %i 鏉?br> 鑾峰緱絎簩涓鍙鳳紝寮曠敤 %j 鏉ヨ幏寰楃涓変釜絎﹀彿錛屽紩鐢?%k %i 鍦?for 璇彞涓樉寮忓0鏄庯紝%j 鍜?%k 鏄氳繃 榪樺彲浠ュ湪鐩擱偦瀛楃涓蹭笂浣跨敤 FOR /F 鍒嗘瀽閫昏緫錛屾柟娉曟槸錛?br> 鐢ㄥ崟寮曞彿灝嗘嫭鍙蜂箣闂寸殑 filenameset 鎷搗鏉ャ傝繖鏍鳳紝璇ュ瓧絎?br> 涓蹭細琚綋浣滀竴涓枃浠朵腑鐨勪竴涓崟涓杈撳叆琛岃繘琛岃В鏋愩?/p>
鏈鍚庯紝鍙互鐢?FOR /F 鍛戒護鏉ュ垎鏋愬懡浠ょ殑杈撳嚭銆傛柟娉曟槸錛屽皢 FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 浼氭灇涓懼綋鍓嶇幆澧冧腑鐨勭幆澧冨彉閲忓悕縐般?/p>
鍙﹀錛孎OR 鍙橀噺鍙傜収鐨勬浛鎹㈠凡琚寮恒傛偍鐜板湪鍙互浣跨敤涓嬪垪 %~I - 鍒犻櫎浠諱綍寮曞彿(")錛屾墿灞?%I 鍙互緇勫悎淇グ絎︽潵寰楀埌澶氶噸緇撴灉: %~dpI - 浠呭皢 %I 鎵╁睍鍒頒竴涓┍鍔ㄥ櫒鍙峰拰璺緞 鍦ㄤ互涓婁緥瀛愪腑錛?I 鍜?PATH 鍙敤鍏朵粬鏈夋晥鏁板間唬鏇褲?~ 璇硶
<Call> <If>
<Choice> <Pause>
<Echo> <Rem>
<For> <Shift>
<Goto>
================================================================
甯哥敤鍛戒護
echo銆丂銆乧all銆乸ause銆乺em(灝忔妧宸э細鐢?:浠f浛rem)鏄壒澶勭悊鏂囦歡鏈甯哥敤鐨勫嚑涓懡浠わ紝鎴戜滑灝變粠浠栦滑寮濮嬪璧楓?
==== willsort 緙栨敞 ==============================================
棣栧厛, @ 涓嶆槸涓涓懡浠? 鑰屾槸DOS 鎵瑰鐞嗙殑涓涓壒孌婃爣璁扮, 浠呯敤浜庡睆钄藉懡浠よ鍥炴樉. 涓嬮潰鏄疍OS鍛戒護琛屾垨鎵瑰鐞嗕腑鍙兘浼氳鍒扮殑涓浜涚壒孌婃爣璁扮:
CR(0D) 鍛戒護琛岀粨鏉熺
Escape(1B) ANSI杞箟瀛楃寮曞絎?
Space(20) 甯哥敤鐨勫弬鏁扮晫瀹氱
Tab(09) ; = 涓嶅父鐢ㄧ殑鍙傛暟鐣屽畾絎?
+ COPY鍛戒護鏂囦歡榪炴帴絎?
* ? 鏂囦歡閫氶厤絎?
"" 瀛楃涓茬晫瀹氱
| 鍛戒護綆¢亾絎?
< > >> 鏂囦歡閲嶅畾鍚戠
@ 鍛戒護琛屽洖鏄懼睆钄界
/ 鍙傛暟寮鍏沖紩瀵肩
: 鎵瑰鐞嗘爣絳懼紩瀵肩
% 鎵瑰鐞嗗彉閲忓紩瀵肩
鍏舵, :: 紜疄鍙互璧峰埌rem 鐨勬敞閲婁綔鐢? 鑰屼笖鏇寸畝媧佹湁鏁? 浣嗘湁涓ょ偣闇瑕佹敞鎰?
絎竴, 闄や簡 :: 涔嬪, 浠諱綍浠?:寮澶寸殑瀛楃琛? 鍦ㄦ壒澶勭悊涓兘琚浣滄爣鍙? 鑰岀洿鎺ュ拷鐣ュ叾鍚庣殑鎵鏈夊唴瀹? 鍙槸涓轟簡涓庢甯哥殑鏍囧彿鐩稿尯鍒? 寤鴻浣跨敤 goto 鎵鏃犳硶璇嗗埆鐨勬爣鍙? 鍗沖湪 :鍚庣揣璺熶竴涓潪瀛楁瘝鏁板瓧鐨勪竴涓壒孌婄鍙?
絎簩, 涓巖em 涓嶅悓鐨勬槸, ::鍚庣殑瀛楃琛屽湪鎵ц鏃朵笉浼氬洖鏄? 鏃犺鏄惁鐢╡cho on鎵撳紑鍛戒護琛屽洖鏄劇姸鎬? 鍥犱負鍛戒護瑙i噴鍣ㄤ笉璁や負浠栨槸涓涓湁鏁堢殑鍛戒護琛? 灝辨鐐規潵鐪? rem 鍦ㄦ煇浜涘満鍚堜笅灝嗘瘮 :: 鏇翠負閫傜敤; 鍙﹀, rem 鍙互鐢ㄤ簬 config.sys 鏂囦歡涓?
================================================================
echo 琛ㄧず鏄劇ず姝ゅ懡浠ゅ悗鐨勫瓧絎?
echo off 琛ㄧず鍦ㄦ璇彞鍚庢墍鏈夎繍琛岀殑鍛戒護閮戒笉鏄劇ず鍛戒護琛屾湰韜?
@涓巈cho off鐩歌薄錛屼絾瀹冩槸鍔犲湪姣忎釜鍛戒護琛岀殑鏈鍓嶉潰錛岃〃紺鴻繍琛屾椂涓嶆樉紺鴻繖涓琛岀殑鍛戒護琛岋紙鍙兘褰卞搷褰撳墠琛岋級銆?
call 璋冪敤鍙︿竴涓壒澶勭悊鏂囦歡錛堝鏋滀笉鐢╟all鑰岀洿鎺ヨ皟鐢ㄥ埆鐨勬壒澶勭悊鏂囦歡錛岄偅涔堟墽琛屽畬閭d釜鎵瑰鐞嗘枃浠跺悗灝嗘棤娉曡繑鍥炲綋鍓嶆枃浠跺茍鎵ц褰撳墠鏂囦歡鐨勫悗緇懡浠わ級銆?
pause 榪愯姝ゅ彞浼氭殏鍋滄壒澶勭悊鐨勬墽琛屽茍鍦ㄥ睆騫曚笂鏄劇ずPress any key to continue...鐨勬彁紺猴紝絳夊緟鐢ㄦ埛鎸変換鎰忛敭鍚庣戶緇?
rem 琛ㄧず姝ゅ懡浠ゅ悗鐨勫瓧絎︿負瑙i噴琛岋紙娉ㄩ噴錛夛紝涓嶆墽琛岋紝鍙槸緇欒嚜宸變粖鍚庡弬鑰冪敤鐨勶紙鐩稿綋浜庣▼搴忎腑鐨勬敞閲婏級銆?
==== willsort 緙栨敞 =============================================
姝ゅ鐨勬弿榪拌緝涓烘販涔? 涓嶅鐩存帴寮曠敤涓懡浠ょ殑鍛戒護琛屽府鍔╂洿涓烘潯鐞?
-----------------------------------------------------------------
ECHO
褰撶▼搴忚繍琛屾椂錛屾樉紺烘垨闅愯棌鎵瑰鐞嗙▼搴忎腑鐨勬鏂囥備篃鍙敤浜庡厑璁告垨紱佹鍛戒護鐨勫洖鏄俱?
鍦ㄨ繍琛屾壒澶勭悊紼嬪簭鏃訛紝MS-DOS涓鑸湪灞忓箷涓婃樉紺猴紙鍥炴樉錛夋壒澶勭悊紼嬪簭涓殑鍛戒護銆?
浣跨敤ECHO鍛戒護鍙叧闂鍔熻兘銆?
璇硶
ECHO [ON|OFF]
鑻ヨ鐢╡cho鍛戒護鏄劇ず涓鏉″懡浠わ紝鍙敤涓嬭堪璇硶錛?
echo [message]
鍙傛暟
ON|OFF
鎸囧畾鏄惁鍏佽鍛戒護鐨勫洖鏄俱傝嫢瑕佹樉紺哄綋鍓嶇殑ECHO鐨勮緗紝鍙嬌鐢ㄤ笉甯﹀弬鏁扮殑ECHO
鍛戒護銆?
message
鎸囧畾璁㎝S-DOS鍦ㄥ睆騫曚笂鏄劇ず鐨勬鏂囥?
-----------------------------------------------------------------
CALL
浠庝竴涓壒澶勭悊紼嬪簭涓皟鐢ㄥ彟涓涓壒澶勭悊紼嬪簭錛岃屼笉浼氬紩璧風涓涓壒澶勭悊鐨勪腑姝€?
璇硶
CALL [drive:][path]filename [batch-parameters]
鍙傛暟
[drive:][path]filename
鎸囧畾瑕佽皟鐢ㄧ殑鎵瑰鐞嗙▼搴忕殑鍚嶅瓧鍙婂叾瀛樻斁澶勩傛枃浠跺悕蹇呴』鐢?BAT浣滄墿灞曞悕銆?
batch-parameters
鎸囧畾鎵瑰鐞嗙▼搴忔墍闇鐨勫懡浠よ淇℃伅銆?
----------------------------------------------------------------------------
PAUSE
鏆傚仠鎵瑰鐞嗙▼搴忕殑鎵ц騫舵樉紺轟竴鏉℃秷鎭紝鎻愮ず鐢ㄦ埛鎸変換鎰忛敭緇х畫鎵ц銆傚彧鑳藉湪鎵瑰
鐞嗙▼搴忎腑浣跨敤璇ュ懡浠ゃ?
璇硶
PAUSE
----------------------------------------------------------------------------
REM
鍦ㄦ壒澶勭悊鏂囦歡鎴朇ONFIG.SYS涓姞鍏ユ敞瑙c備篃鍙敤REM鍛戒護鏉ュ睆钄藉懡浠わ紙鍦–ONFIG.SYS
涓篃鍙互鐢ㄥ垎鍙?;)浠f浛REM鍛戒護錛屼絾鍦ㄦ壒澶勭悊鏂囦歡涓垯涓嶈兘鏇夸唬錛夈?
璇硶
REM [string]
鍙傛暟
string
鎸囧畾瑕佸睆钄界殑鍛戒護鎴栬鍖呭惈鐨勬敞瑙c?
================================================================
渚?錛氱敤edit緙栬緫a.bat鏂囦歡錛岃緭鍏ヤ笅鍒楀唴瀹瑰悗瀛樼洏涓篶:\a.bat錛屾墽琛岃鎵瑰鐞嗘枃浠跺悗鍙疄鐜幫細灝嗘牴鐩綍涓墍鏈夋枃浠跺啓鍏?a.txt涓紝鍚姩UCDOS錛岃繘鍏PS絳夊姛鑳姐?
銆銆鎵瑰鐞嗘枃浠剁殑鍐呭涓? 銆銆銆銆銆銆銆 鍛戒護娉ㄩ噴錛?
銆銆銆銆@echo off銆銆銆銆銆銆銆銆銆銆銆涓嶆樉紺哄悗緇懡浠よ鍙婂綋鍓嶅懡浠よ
銆銆銆銆dir c:\*.* >a.txt銆銆銆銆銆銆銆灝哻鐩樻枃浠跺垪琛ㄥ啓鍏.txt
銆銆銆銆call c:\ucdos\ucdos.bat銆銆銆銆璋冪敤ucdos
銆銆銆銆echo 浣犲ソ 銆銆銆銆銆銆銆銆銆銆 鏄劇ず"浣犲ソ"
銆銆銆銆pause 銆銆銆銆銆銆銆銆銆銆銆銆 鏆傚仠,絳夊緟鎸夐敭緇х畫
銆銆銆銆rem 鍑嗗榪愯wps 銆銆銆銆銆銆銆 娉ㄩ噴錛氬噯澶囪繍琛寃ps
銆銆銆銆cd ucdos銆銆銆銆銆銆銆銆銆銆銆 榪涘叆ucdos鐩綍
銆銆銆銆wps 銆銆銆銆銆銆銆銆銆銆銆銆銆 榪愯wps銆銆
鎵瑰鐞嗘枃浠剁殑鍙傛暟
鎵瑰鐞嗘枃浠惰繕鍙互鍍廋璇█鐨勫嚱鏁頒竴鏍蜂嬌鐢ㄥ弬鏁幫紙鐩稿綋浜嶥OS鍛戒護鐨勫懡浠よ鍙傛暟錛夛紝榪欓渶瑕佺敤鍒頒竴涓弬鏁拌〃紺虹“%”銆?
%[1-9]琛ㄧず鍙傛暟錛屽弬鏁版槸鎸囧湪榪愯鎵瑰鐞嗘枃浠舵椂鍦ㄦ枃浠跺悕鍚庡姞鐨勪互絀烘牸錛堟垨鑰匱ab錛夊垎闅旂殑瀛楃涓層傚彉閲忓彲浠ヤ粠%0鍒?9錛?0琛ㄧず鎵瑰鐞嗗懡浠ゆ湰韜紝鍏跺畠鍙傛暟瀛楃涓茬敤%1鍒?9欏哄簭琛ㄧず銆?
渚?錛欳:鏍圭洰褰曚笅鏈変竴鎵瑰鐞嗘枃浠跺悕涓篺.bat錛屽唴瀹逛負錛?
@echo off
format %1
濡傛灉鎵цC:\>f a:
閭d箞鍦ㄦ墽琛宖.bat鏃訛紝%1灝辮〃紺篴:錛岃繖鏍穎ormat %1灝辯浉褰撲簬format a:錛屼簬鏄笂闈㈢殑鍛戒護榪愯鏃跺疄闄呮墽琛岀殑鏄痜ormat a:
渚?錛欳:鏍圭洰褰曚笅涓鎵瑰鐞嗘枃浠跺悕涓簍.bat錛屽唴瀹逛負:
@echo off
type %1
type %2
閭d箞榪愯C:\>t a.txt b.txt
%1 : 琛ㄧずa.txt
%2 : 琛ㄧずb.txt
浜庢槸涓婇潰鐨勫懡浠ゅ皢欏哄簭鍦版樉紺篴.txt鍜宐.txt鏂囦歡鐨勫唴瀹廣?
鐗規畩鍛戒護
if goto choice for鏄壒澶勭悊鏂囦歡涓瘮杈冮珮綰х殑鍛戒護錛屽鏋滆繖鍑犱釜浣犵敤寰楀緢鐔熺粌錛屼綘灝辨槸鎵瑰鐞嗘枃浠剁殑涓撳鍟︺?
涓銆乮f 鏄潯浠惰鍙ワ紝鐢ㄦ潵鍒ゆ柇鏄惁絎﹀悎瑙勫畾鐨勬潯浠訛紝浠庤屽喅瀹氭墽琛屼笉鍚岀殑鍛戒護銆?鏈変笁縐嶆牸寮?
1銆乮f [not] "鍙傛暟" == "瀛楃涓? 寰呮墽琛岀殑鍛戒護
鍙傛暟濡傛灉絳変簬(not琛ㄧず涓嶇瓑錛屼笅鍚?鎸囧畾鐨勫瓧絎︿覆錛屽垯鏉′歡鎴愮珛錛岃繍琛屽懡浠わ紝鍚﹀垯榪愯涓嬩竴鍙ャ?
渚嬶細if "%1"=="a" format a:
IF [NOT] string1==string2 command
鍦ㄦ鏈変互涓嬪嚑鐐歸渶瑕佹敞鎰?
1. 鍖呭惈瀛楃涓茬殑鍙屽紩鍙蜂笉鏄娉曟墍蹇呴』鐨? 鑰屽彧鏄範鎯笂浣跨敤鐨勪竴縐?闃茬┖"瀛楃
2. string1 鏈繀鏄弬鏁? 瀹冧篃鍙互鏄幆澧冨彉閲? 寰幆鍙橀噺浠ュ強鍏朵粬瀛楃涓插父閲忔垨鍙橀噺
3. command 涓嶆槸璇硶鎵蹇呴』鐨? string2 鍚庤窡涓涓┖鏍煎氨鍙互鏋勬垚涓涓湁鏁堢殑鍛戒護琛?
================================================================
2銆乮f [not] exist [璺緞\]鏂囦歡鍚?寰呮墽琛岀殑鍛戒護
濡傛灉鏈夋寚瀹氱殑鏂囦歡錛屽垯鏉′歡鎴愮珛錛岃繍琛屽懡浠わ紝鍚﹀垯榪愯涓嬩竴鍙ャ?
濡? if exist c:\config.sys type c:\config.sys
琛ㄧず濡傛灉瀛樺湪c:\config.sys鏂囦歡錛屽垯鏄劇ず瀹冪殑鍐呭銆?
****** willsort 緙栨敞 ********
涔熷彲浠ヤ嬌鐢ㄤ互涓嬬殑鐢ㄦ硶:
if exist <device> command
device 鏄寚DOS緋葷粺涓凡鍔犺澆鐨勮澶? 鍦╳in98涓嬮氬父鏈?
AUX, PRN, CON, NUL
COM1, COM2, COM3, COM4
LPT1, LPT2, LPT3, LPT4
XMSXXXX0, EMMXXXX0
A: B: C: ...,
CLOCK$, CONFIG$, DblBuff$, IFS$HLP$
鍏蜂綋鐨勫唴瀹逛細鍥犵‖杞歡鐜鐨勪笉鍚岃岀暐鏈夊樊寮? 浣跨敤榪欎簺璁懼鍚嶇О鏃? 闇瑕佷繚璇佷互涓嬩笁鐐?
1. 璇ヨ澶囩‘瀹炲瓨鍦?鐢辮蔣浠惰櫄鎷熺殑璁懼闄ゅ)
2. 璇ヨ澶囬┍鍔ㄧ▼搴忓凡鍔犺澆(aux, prn絳夋爣鍑嗚澶囩敱緋葷粺緙虹渷瀹氫箟)
3. 璇ヨ澶囧凡鍑嗗濂?涓昏鏄寚a: b: ..., com1..., lpt1...絳?
鍙氳繃鍛戒護 mem/d | find "device" /i 鏉ユ闃呬綘鐨勭郴緇熶腑鎵鍔犺澆鐨勮澶?
鍙﹀, 鍦―OS緋葷粺涓? 璁懼涔熻璁や負鏄竴縐嶇壒孌婄殑鏂囦歡, 鑰屾枃浠朵篃鍙互縐頒綔瀛楃璁懼; 鍥犱負璁懼(device)涓庢枃浠墮兘鏄嬌鐢ㄥ彞鏌?handle)鏉ョ鐞嗙殑, 鍙ユ焺灝辨槸鍚嶅瓧, 綾諱技浜庢枃浠跺悕, 鍙笉榪囧彞鏌勪笉鏄簲鐢ㄤ簬紓佺洏綆$悊, 鑰屾槸搴旂敤浜庡唴瀛樼鐞嗚屽凡, 鎵璋撹澶囧姞杞戒篃鍗蟲寚鍦ㄥ唴瀛樹腑涓哄叾鍒嗛厤鍙紩鐢ㄧ殑鍙ユ焺.
================================================================
3銆乮f errorlevel <鏁板瓧> 寰呮墽琛岀殑鍛戒護
寰堝DOS紼嬪簭鍦ㄨ繍琛岀粨鏉熷悗浼氳繑鍥炰竴涓暟瀛楀肩敤鏉ヨ〃紺虹▼搴忚繍琛岀殑緇撴灉(鎴栬呯姸鎬?錛岄氳繃if errorlevel鍛戒護鍙互鍒ゆ柇紼嬪簭鐨勮繑鍥炲鹼紝鏍規嵁涓嶅悓鐨勮繑鍥炲兼潵鍐沖畾鎵ц涓嶅悓鐨勫懡浠?榪斿洖鍊煎繀欏繪寜鐓т粠澶у埌灝忕殑欏哄簭鎺掑垪)銆傚鏋滆繑鍥炲肩瓑浜庢寚瀹氱殑鏁板瓧錛屽垯鏉′歡鎴愮珛錛岃繍琛屽懡浠わ紝鍚﹀垯榪愯涓嬩竴鍙ャ?
濡俰f errorlevel 2 goto x2
==== willsort 緙栨敞 ====================================================
榪斿洖鍊間粠澶у埌灝忕殑欏哄簭鎺掑垪涓嶆槸蹇呴』鐨? 鑰屽彧鏄墽琛屽懡浠や負 goto 鏃剁殑涔犳儻鐢ㄦ硶, 褰撲嬌鐢?set 浣滀負鎵ц鍛戒護鏃? 閫氬父浼氫粠灝忓埌澶ч『搴忔帓鍒? 姣斿闇灝嗚繑鍥炵爜緗叆鐜鍙橀噺, 灝遍渶浣跨敤浠ヤ笅鐨勯『搴忓艦寮?
if errorlevel 1 set el=1
if errorlevel 2 set el=2
if errorlevel 3 set el=3
if errorlevel 4 set el=4
if errorlevel 5 set el=5
...
褰撶劧, 涔熷彲浠ヤ嬌鐢ㄤ互涓嬪驚鐜潵鏇夸唬, 鍘熺悊鏄竴鑷寸殑:
for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e
鏇撮珮鏁堢畝媧佺殑鐢ㄦ硶, 鍙互鍙傝冩垜鍐欑殑鍙︿竴綃囧叧浜庤幏鍙?errorlevel 鐨勬枃绔?
鍑虹幇姝ょ鐜拌薄鐨勫師鍥犳槸, if errorlevel 姣旇緝榪斿洖鐮佺殑鍒ゆ柇鏉′歡騫墮潪絳変簬, 鑰屾槸澶т簬絳変簬. 鐢變簬 goto 鐨勮煩杞壒鎬? 鐢卞皬鍒板ぇ鎺掑簭浼氬鑷村湪杈冨皬鐨勮繑鍥炵爜澶勫氨璺沖嚭; 鑰岀敱浜?set鍛戒護鐨?"閲嶅" 璧嬪肩壒鎬? 鐢卞ぇ鍒板皬鎺掑簭浼氬鑷磋緝灝忕殑榪斿洖鐮?"瑕嗙洊" 杈冨ぇ鐨勮繑鍥炵爜.
鍙﹀, 铏界劧 if errorlevel=<鏁板瓧> command 涔熸槸鏈夋晥鐨勫懡浠よ, 浣嗕篃鍙槸 command.com 瑙i噴鍛戒護琛屾椂灝?= 浣滀負鍛戒護琛屽垏鍒嗙鑰屽拷鐣ユ帀緗簡
================================================================
浜屻乬oto 鎵瑰鐞嗘枃浠惰繍琛屽埌榪欓噷灝嗚煩鍒癵oto鎵鎸囧畾鐨勬爣鍙?鏍囧彿鍗砽abel錛屾爣鍙風敤:鍚庤窡鏍囧噯瀛楃涓叉潵瀹氫箟)澶勶紝goto璇彞涓鑸笌if閰嶅悎浣跨敤錛屾牴鎹笉鍚岀殑鏉′歡鏉ユ墽琛屼笉鍚岀殑鍛戒護緇勩?
濡?
goto end
:end
echo this is the end
鏍囧彿鐢?#8220;:瀛楃涓?#8221;鏉ュ畾涔夛紝鏍囧彿鎵鍦ㄨ涓嶈鎵ц銆?
==== willsort 緙栨敞 ====================================================
label 甯歌璇戜負 "鏍囩" , 浣嗘槸榪欏茍涓嶅叿鏈夊箍娉涚殑綰﹀畾鎬?
goto <label> 涓?:<label> 鑱旂敤鍙疄鐜版墽琛屼腑閫旂殑璺寵漿, 鍐嶇粨鍚?if 鍙疄鐜版墽琛岃繃紼嬬殑鏉′歡鍒嗘敮, 澶氫釜 if 鍗沖彲瀹炵幇鍛戒護鐨勫垎緇? 綾諱技 C 涓?switch case 緇撴瀯鎴栬?Basic 涓殑 select case 緇撴瀯, 澶ц妯′笖緇撴瀯鍖栫殑鍛戒護鍒嗙粍鍗沖彲瀹炵幇楂樼駭璇█涓殑鍑芥暟鍔熻兘. 浠ヤ笅鏄壒澶勭悊鍜孋/Basic鍦ㄨ娉曠粨鏋勪笂鐨勫鐓?
Batch C / Basic
goto&: goto&:
goto&:&if if{}&else{} / if&elseif&endif
goto&:&if... switch&case / select case
goto&:&if&set&envar... function() / function(),sub()
================================================================
涓夈乧hoice 浣跨敤姝ゅ懡浠ゅ彲浠ヨ鐢ㄦ埛杈撳叆涓涓瓧絎︼紙鐢ㄤ簬閫夋嫨錛夛紝浠庤屾牴鎹敤鎴風殑閫夋嫨榪斿洖涓嶅悓鐨別rrorlevel錛岀劧鍚庝簬if errorlevel閰嶅悎錛屾牴鎹敤鎴風殑閫夋嫨榪愯涓嶅悓鐨勫懡浠ゃ?
娉ㄦ剰錛歝hoice鍛戒護涓篋OS鎴栬匴indows緋葷粺鎻愪緵鐨勫閮ㄥ懡浠わ紝涓嶅悓鐗堟湰鐨刢hoice鍛戒護璇硶浼氱◢鏈変笉鍚岋紝璇風敤choice /?鏌ョ湅鐢ㄦ硶銆?
choice鐨勫懡浠よ娉曪紙璇ヨ娉曚負Windows 2003涓璫hoice鍛戒護鐨勮娉曪紝鍏跺畠鐗堟湰鐨刢hoice鐨勫懡浠よ娉曚笌姝ゅぇ鍚屽皬寮傦級錛?
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
鎻忚堪:
璇ュ伐鍏峰厑璁哥敤鎴蜂粠閫夋嫨鍒楄〃閫夋嫨涓涓」鐩茍榪斿洖鎵閫夐」鐩殑绱㈠紩銆?
鍙傛暟鍒楄〃:
/C choices 鎸囧畾瑕佸垱寤虹殑閫夐」鍒楄〃銆傞粯璁ゅ垪琛ㄦ槸 "YN"銆?
/N 鍦ㄦ彁紺虹涓殣钘忛夐」鍒楄〃銆傛彁紺哄墠闈㈢殑娑堟伅寰楀埌鏄劇ず錛?
閫夐」渚濇棫澶勪簬鍚敤鐘舵併?
/CS 鍏佽閫夋嫨鍒嗗ぇ灝忓啓鐨勯夐」銆傚湪榛樿鎯呭喌涓嬶紝榪欎釜宸ュ叿
鏄笉鍒嗗ぇ灝忓啓鐨勩?
/T timeout 鍋氬嚭榛樿閫夋嫨涔嬪墠錛屾殏鍋滅殑縐掓暟銆傚彲鎺ュ彈鐨勫兼槸浠?0
鍒?9999銆傚鏋滄寚瀹氫簡 0錛屽氨涓嶄細鏈夋殏鍋滐紝榛樿閫夐」
浼氬緱鍒伴夋嫨銆?
/D choice 鍦?nnnn 縐掍箣鍚庢寚瀹氶粯璁ら夐」銆傚瓧絎﹀繀欏誨湪鐢?/C 閫?
欏規寚瀹氱殑涓緇勯夋嫨涓? 鍚屾椂錛屽繀欏葷敤 /T 鎸囧畾 nnnn銆?
/M text 鎸囧畾鎻愮ず涔嬪墠瑕佹樉紺虹殑娑堟伅銆傚鏋滄病鏈夋寚瀹氾紝宸ュ叿鍙?
鏄劇ず鎻愮ず銆?
/? 鏄劇ず甯姪娑堟伅銆?
娉ㄦ剰:
ERRORLEVEL 鐜鍙橀噺琚緗負浠庨夋嫨闆嗛夋嫨鐨勯敭绱㈠紩銆傚垪鍑虹殑絎竴涓?
鎷╄繑鍥?1錛岀浜屼釜閫夋嫨榪斿洖 2錛岀瓑絳夈傚鏋滅敤鎴鋒寜鐨勯敭涓嶆槸鏈夋晥鐨勯夋嫨錛?
璇ュ伐鍏蜂細鍙戝嚭璀﹀憡鍝嶅0銆傚鏋滆宸ュ叿媯嫻嬪埌閿欒鐘舵侊紝瀹冧細榪斿洖 255 鐨?
ERRORLEVEL 鍊箋傚鏋滅敤鎴鋒寜 Ctrl+Break 鎴?Ctrl+C 閿紝璇ュ伐鍏蜂細榪斿洖 0
鐨?ERRORLEVEL 鍊箋傚湪涓涓壒紼嬪簭涓嬌鐢?ERRORLEVEL 鍙傛暟鏃訛紝灝嗗弬鏁伴檷
搴忔帓鍒椼?
紺轟緥:
CHOICE /?
CHOICE /C YNC /M "紜璇鋒寜 Y錛屽惁璇鋒寜 N錛屾垨鑰呭彇娑堣鎸?C銆?
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "閫夐」 1 璇烽夋嫨 a錛岄夐」 2 璇烽夋嫨 b銆?
CHOICE /C ab /N /M "閫夐」 1 璇烽夋嫨 a錛岄夐」 2 璇烽夋嫨 b銆?
==== willsort 緙栨敞 ====================================================
鎴戝垪鍑簑in98涓媍hoice鐨勭敤娉曞府鍔? 宸茶祫鍖哄垎
Waits for the user to choose one of a set of choices.
絳夊緟鐢ㄦ埛閫夋嫨涓緇勫緟閫夊瓧絎︿腑鐨勪竴涓?
CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]
/C[:]choices Specifies allowable keys. Default is YN
鎸囧畾鍏佽鐨勬寜閿?寰呴夊瓧絎?, 榛樿涓篩N
/N Do not display choices and ? at end of prompt string.
涓嶆樉紺烘彁紺哄瓧絎︿覆涓殑闂彿鍜屽緟閫夊瓧絎?
/S Treat choice keys as case sensitive.
澶勭悊寰呴夊瓧絎︽椂澶у皬鍐欐晱鎰?
/T[:]c,nn Default choice to c after nn seconds
鍦?nn 縐掑悗榛樿閫夋嫨 c
text Prompt string to display
瑕佹樉紺虹殑鎻愮ず瀛楃涓?
ERRORLEVEL is set to offset of key user presses in choices.
ERRORLEVEL 琚緗負鐢ㄦ埛閿叆鐨勫瓧絎﹀湪寰呴夊瓧絎︿腑鐨勫亸縐誨?
================================================================
濡傛灉鎴戣繍琛屽懡浠わ細CHOICE /C YNC /M "紜璇鋒寜 Y錛屽惁璇鋒寜 N錛屾垨鑰呭彇娑堣鎸?C銆?
灞忓箷涓婁細鏄劇ず錛?
紜璇鋒寜 Y錛屽惁璇鋒寜 N錛屾垨鑰呭彇娑堣鎸?C銆?[Y,N,C]?
@echo off
choice /C dme /M "defrag,mem,end"
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errorlevel 1 goto defrag
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
姝ゆ壒澶勭悊榪愯鍚庯紝灝嗘樉紺?#8220;defrag,mem,end[D,M,E]?” 錛岀敤鎴峰彲閫夋嫨d m e 錛岀劧鍚巌f璇彞鏍規嵁鐢ㄦ埛鐨勯夋嫨浣滃嚭鍒ゆ柇錛宒琛ㄧず鎵ц鏍囧彿涓篸efrag鐨勭▼搴忔錛宮琛ㄧず鎵ц鏍囧彿涓簃em鐨勭▼搴忔錛宔琛ㄧず鎵ц鏍囧彿涓篹nd鐨勭▼搴忔錛屾瘡涓▼搴忔鏈鍚庨兘浠oto end灝嗙▼搴忚煩鍒癳nd鏍囧彿澶勶紝鐒跺悗紼嬪簭灝嗘樉紺篻ood bye錛屾壒澶勭悊榪愯緇撴潫銆?
鍥涖乫or 寰幆鍛戒護錛屽彧瑕佹潯浠剁鍚堬紝瀹冨皢澶氭鎵ц鍚屼竴鍛戒護銆?
璇硶錛?
瀵逛竴緇勬枃浠朵腑鐨勬瘡涓涓枃浠舵墽琛屾煇涓壒瀹氬懡浠ゃ?
FOR %%variable IN (set) DO command [command-parameters]
%%variable 鎸囧畾涓涓崟涓瀛楁瘝鍙浛鎹㈢殑鍙傛暟銆?
(set) 鎸囧畾涓涓垨涓緇勬枃浠躲傚彲浠ヤ嬌鐢ㄩ氶厤絎︺?
command 鎸囧畾瀵規瘡涓枃浠舵墽琛岀殑鍛戒護銆?
command-parameters
涓虹壒瀹氬懡浠ゆ寚瀹氬弬鏁版垨鍛戒護琛屽紑鍏熾?
渚嬪涓涓壒澶勭悊鏂囦歡涓湁涓琛?
for %%c in (*.bat *.txt) do type %%c
鍒欒鍛戒護琛屼細鏄劇ず褰撳墠鐩綍涓嬫墍鏈変互bat鍜宼xt涓烘墿灞曞悕鐨勬枃浠剁殑鍐呭銆?
==== willsort 緙栨敞 ====================================================
闇瑕佹寚鍑虹殑鏄? 褰?)涓殑瀛楃涓插茍闈炲崟涓垨澶氫釜鏂囦歡鍚嶆椂, 瀹冨皢鍗曠函琚綋浣滃瓧絎︿覆鏇挎崲, 榪欎釜鐗規у啀鍔犱笂()涓彲浠ュ祵鍏ュ涓瓧絎︿覆鐨勭壒鎬? 寰堟槑鏄?for 鍙互琚湅浣滀竴縐嶉亶鍘嗗瀷寰幆.
褰撶劧, 鍦?nt/2000/xp/2003 緋誨垪鐨勫懡浠よ鐜涓? for 琚祴浜堜簡鏇村鐨勭壒鎬? 浣夸箣鍙互鍒嗘瀽鍛戒護杈撳嚭鎴栬呮枃浠朵腑鐨勫瓧絎︿覆, 涔熸湁寰堝寮鍏寵鐢ㄤ簬鎵╁睍浜嗘枃浠舵浛鎹㈠姛鑳?
===============================================================錛?
鎵瑰鐞嗙ず渚?
1. IF-EXIST
1) 棣栧厛鐢ㄨ浜嬫湰鍦–:\寤虹珛涓涓猼est1.bat鎵瑰鐞嗘枃浠訛紝鏂囦歡鍐呭濡備笅錛?
@echo off
IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist
鐒跺悗榪愯瀹冿細
C:\>TEST1.BAT
濡傛灉C:\瀛樺湪AUTOEXEC.BAT鏂囦歡錛岄偅涔堝畠鐨勫唴瀹瑰氨浼氳鏄劇ず鍑烘潵錛屽鏋滀笉瀛樺湪錛屾壒澶勭悊灝變細鎻愮ず浣犺鏂囦歡涓嶅瓨鍦ㄣ?
2) 鎺ョ潃鍐嶅緩绔嬩竴涓猼est2.bat鏂囦歡錛屽唴瀹瑰涓嬶細
@ECHO OFF
IF EXIST \%1 TYPE \%1
IF NOT EXIST \%1 ECHO \%1 does not exist
鎵ц:
C:\>TEST2 AUTOEXEC.BAT
璇ュ懡浠よ繍琛岀粨鏋滃悓涓娿?
璇存槑錛?
(1) IF EXIST 鏄敤鏉ユ祴璇曟枃浠舵槸鍚﹀瓨鍦ㄧ殑錛屾牸寮忎負
IF EXIST [璺緞+鏂囦歡鍚峕 鍛戒護
(2) test2.bat鏂囦歡涓殑%1鏄弬鏁幫紝DOS鍏佽浼犻?涓壒鍙傛暟淇℃伅緇欐壒澶勭悊鏂囦歡錛屽垎鍒負%1~%9(%0琛ㄧずtest2鍛戒護鏈韓) 錛岃繖鏈夌偣璞$紪紼嬩腑鐨勫疄鍙傚拰褰㈠弬鐨勫叧緋伙紝%1鏄艦鍙傦紝AUTOEXEC.BAT鏄疄鍙傘?
==== willsort 緙栨敞 ====================================================
DOS娌℃湁 "鍏佽浼犻?涓壒鍙傛暟淇℃伅" 鐨勯檺鍒? 鍙傛暟鐨勪釜鏁板彧浼氬彈鍒板懡浠よ闀垮害鍜屾墍璋冪敤鍛戒護澶勭悊鑳藉姏鐨勯檺鍒? 浣嗘槸, 鎴戜滑鍦ㄦ壒澶勭悊紼嬪簭涓? 鍦ㄥ悓涓鏃跺埢鍙兘鍚屾椂寮曠敤10涓弬鏁? 鍥犱負 DOS鍙粰鍑轟簡 %0~%9榪欏崄涓弬鏁板紩鐢ㄧ.
================================================================
3) 鏇磋繘涓姝ョ殑錛屽緩绔嬩竴涓悕涓篢EST3.BAT鐨勬枃浠訛紝鍐呭濡備笅錛?
@echo off
IF "%1" == "A" ECHO XIAO
IF "%2" == "B" ECHO TIAN
IF "%3" == "C" ECHO XIN
濡傛灉榪愯錛?
C:\>TEST3 A B C
灞忓箷涓婁細鏄劇ず:
XIAO
TIAN
XIN
濡傛灉榪愯錛?
C:\>TEST3 A B
灞忓箷涓婁細鏄劇ず
XIAO
TIAN
鍦ㄨ繖涓懡浠ゆ墽琛岃繃紼嬩腑錛孌OS浼氬皢涓涓┖瀛楃涓叉寚瀹氱粰鍙傛暟%3銆?
2銆両F-ERRORLEVEL
寤虹珛TEST4.BAT錛屽唴瀹瑰涓嬶細
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 1 ECHO 鏂囦歡鎷瘋礉澶辮觸
IF ERRORLEVEL 0 ECHO 鎴愬姛鎷瘋礉鏂囦歡
鐒跺悗鎵ц鏂囦歡:
C:\>TEST4
濡傛灉鏂囦歡鎷瘋礉鎴愬姛錛屽睆騫曞氨浼氭樉紺?#8220;鎴愬姛鎷瘋礉鏂囦歡”錛屽惁鍒欏氨浼氭樉紺?#8220;鏂囦歡鎷瘋礉澶辮觸”銆?
IF ERRORLEVEL 鏄敤鏉ユ祴璇曞畠鐨勪笂涓涓狣OS鍛戒護鐨勮繑鍥炲肩殑錛屾敞鎰忓彧鏄笂涓涓懡浠ょ殑榪斿洖鍊鹼紝鑰屼笖榪斿洖鍊煎繀欏諱緷鐓т粠澶у埌灝忔搴忛『搴忓垽鏂?
鍥犳涓嬮潰鐨勬壒澶勭悊鏂囦歡鏄敊璇殑錛?
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO 鎴愬姛鎷瘋礉鏂囦歡
IF ERRORLEVEL 1 ECHO 鏈壘鍒版嫹璐濇枃浠?
IF ERRORLEVEL 2 ECHO 鐢ㄦ埛閫氳繃ctrl-c涓鎷瘋礉鎿嶄綔
IF ERRORLEVEL 3 ECHO 棰勭疆閿欒闃繪鏂囦歡鎷瘋礉鎿嶄綔
IF ERRORLEVEL 4 ECHO 鎷瘋礉榪囩▼涓啓鐩橀敊璇?
鏃犺鎷瘋礉鏄惁鎴愬姛錛屽悗闈㈢殑錛?
鏈壘鍒版嫹璐濇枃浠?
鐢ㄦ埛閫氳繃ctrl-c涓鎷瘋礉鎿嶄綔
棰勭疆閿欒闃繪鏂囦歡鎷瘋礉鎿嶄綔
鎷瘋礉榪囩▼涓啓鐩橀敊璇?
閮藉皢鏄劇ず鍑烘潵銆?
浠ヤ笅灝辨槸鍑犱釜甯哥敤鍛戒護鐨勮繑鍥炲煎強鍏朵唬琛ㄧ殑鎰忎箟錛?
backup
0 澶囦喚鎴愬姛
1 鏈壘鍒板浠芥枃浠?
2 鏂囦歡鍏變韓鍐茬獊闃繪澶囦喚瀹屾垚
3 鐢ㄦ埛鐢╟trl-c涓澶囦喚
4 鐢變簬鑷村懡鐨勯敊璇嬌澶囦喚鎿嶄綔涓
diskcomp
0 鐩樻瘮杈冪浉鍚?
1 鐩樻瘮杈冧笉鍚?
2 鐢ㄦ埛閫氳繃ctrl-c涓姣旇緝鎿嶄綔
3 鐢變簬鑷村懡鐨勯敊璇嬌姣旇緝鎿嶄綔涓
4 棰勭疆閿欒涓姣旇緝
diskcopy
0 鐩樻嫹璐濇搷浣滄垚鍔?
1 闈炶嚧鍛界洏璇?鍐欓敊
2 鐢ㄦ埛閫氳繃ctrl-c緇撴潫鎷瘋礉鎿嶄綔
3 鍥犺嚧鍛界殑澶勭悊閿欒浣跨洏鎷瘋礉涓
4 棰勭疆閿欒闃繪鎷瘋礉鎿嶄綔
format
0 鏍煎紡鍖栨垚鍔?
3 鐢ㄦ埛閫氳繃ctrl-c涓鏍煎紡鍖栧鐞?
4 鍥犺嚧鍛界殑澶勭悊閿欒浣挎牸寮忓寲涓
5 鍦ㄦ彁紺?#8220;proceed with format錛坹/n錛?”涓嬬敤鎴烽敭鍏緇撴潫
xcopy
0 鎴愬姛鎷瘋礉鏂囦歡
1 鏈壘鍒版嫹璐濇枃浠?
2 鐢ㄦ埛閫氳繃ctrl-c涓鎷瘋礉鎿嶄綔
4 棰勭疆閿欒闃繪鏂囦歡鎷瘋礉鎿嶄綔
5 鎷瘋礉榪囩▼涓啓鐩橀敊璇?
==== willsort 緙栨敞 ====================================================
chkdsk
0 鏈壘鍒伴敊璇?
255 鎵懼埌涓涓垨澶氫釜閿欒
choice
0 鐢ㄦ埛鎸変笅ctrl+c/break
1 鐢ㄦ埛鎸変笅絎竴涓敭
255 媯嫻嬪埌鍛戒護琛屼腑鐨勯敊璇潯浠?
鍏跺畠 鐢ㄦ埛鎸変笅鐨勬湁鏁堝瓧絎﹀湪鍒楄〃涓殑浣嶇疆
defrag
0 紕庣墖鍘嬬緝鎴愬姛
1 鍑虹幇鍐呴儴閿欒
2 紓佺洏涓婃病鏈夌┖綈囥傝榪愯DEFRAG錛岃嚦灝戣鏈変竴涓┖綈?
3 鐢ㄦ埛鐢–trl+C閫鍑轟簡DEFRAG
4 鍑虹幇涓鑸ч敊璇?
5 DEFRAG鍦ㄨ綈囨椂閬囧埌閿欒
6 DEFRAG鍦ㄥ啓綈囨椂閬囧埌閿欒
7 鍒嗛厤絀洪棿鏈夐敊
8 鍐呭瓨閿?
9 娌℃湁瓚沖絀洪棿鏉ュ帇緙╃鐩樼鐗?
deltree
0 鎴愬姛鍦板垹闄や竴涓洰褰?
diskcomp
0 涓ょ洏鐩稿悓
1 鍙戠幇涓嶅悓
2 鎸塁TRL+C 緇堟浜嗘瘮杈?
3 鍑虹幇涓ラ噸閿欒
4 鍑虹幇鍒濆鍖栭敊璇?
find
0 鏌ユ壘鎴愬姛涓旇嚦灝戞壘鍒頒簡涓涓尮閰嶇殑瀛楃涓?
1 鏌ユ壘鎴愬姛浣嗘病鎵懼埌鍖歸厤鐨勫瓧絎︿覆
2 鏌ユ壘涓嚭鐜頒簡閿欒
keyb
0 閿洏瀹氫箟鏂囦歡瑁呭叆鎴愬姛
1 浣跨敤浜嗛潪娉曠殑閿洏浠g爜錛屽瓧絎﹂泦鎴栬娉?
2 閿洏瀹氫箟鏂囦歡鍧忔垨鏈壘鍒?
4 閿洏銆佺洃瑙嗗櫒閫氳鏃跺嚭閿?
5 瑕佹眰鐨勫瓧絎﹂泦鏈噯澶囧ソ
move
0 鎴愬姛鍦扮Щ鍔ㄤ簡鎸囧畾鐨勬枃浠?
1 鍙戠敓浜嗛敊璇?
msav /N
86 媯鏌ュ埌浜嗙梾姣?
replace
0 REPLACE鎴愬姛鍦版浛鎹㈡垨鍔犲叆浜嗘枃浠?
1 MS-DOS鐗堟湰鍜孯EPLACE涓嶅吋瀹?
2 REPLACE鎵句笉鍒版簮鏂囦歡
3 REPLACE鎵句笉鍒版簮璺緞鎴栫洰鏍囪礬寰?
5 涓嶈兘瀛樺彇瑕佹浛鎹㈢殑鏂囦歡
8 鍐呭瓨涓嶅鏃犳硶鎵цREPLACE
11 鍛戒護琛屽彞娉曢敊璇?
restore
0 RESTORE鎴愬姛鍦版仮澶嶄簡鏂囦歡
1 RESTORE鎵句笉鍒拌鎭㈠鐨勬枃浠?
3 鐢ㄦ埛鎸塁TRL+C緇堟鎭㈠榪囩▼
4 RESTORE鍥犻敊璇岀粓姝?
scandisk
0 ScanDisk鍦ㄥ畠媯鏌ョ殑椹卞姩鍣ㄤ笂鏈嫻嬪埌浠諱綍閿欒
1 鐢變簬鍛戒護琛岀殑璇硶涓嶅錛屼笉鑳借繍琛孲canDisk
2 鐢變簬鍐呭瓨鐢ㄥ敖鎴栧彂鐢熷唴閮ㄩ敊璇紝ScanDisk鎰忓緇堟
3 鐢ㄦ埛璁㏒canDisk涓旈鍑?
4 榪涜鐩橀潰鎵弿鏃訛紝鐢ㄦ埛鍐沖畾鎻愬墠閫鍑?
254 ScanDisk鎵懼埌紓佺洏鏁呴殰騫跺凡鍏ㄩ儴鏍℃
255 ScanDisk鎵懼埌紓佺洏鏁呴殰錛屼絾鏈兘鍏ㄩ儴鏍℃
setver
0 SETVER鎴愬姛鍦板畬鎴愪簡浠誨姟
1 鐢ㄦ埛鎸囧畾浜嗕竴涓棤鏁堢殑鍛戒護寮鍏?
2 鐢ㄦ埛鎸囧畾浜嗕竴涓潪娉曠殑鏂囦歡鍚?
3 娌℃湁瓚沖鐨勭郴緇熷唴瀛樻潵榪愯鍛戒護
4 鐢ㄦ埛鎸囧畾浜嗕竴涓潪娉曠殑鐗堟湰鍙鋒牸寮?
5 SETVER鍦ㄧ増鏈〃涓湭鎵懼埌鎸囧畾鐨勯」
6 SETVER鏈壘鍒癝ETVER.EXE鏂囦歡
7 鐢ㄦ埛鎸囧畾浜嗕竴涓潪娉曠殑椹卞姩鍣?
8 鐢ㄦ埛鎸囧畾浜嗗お澶氱殑鍛戒護琛屽弬鏁?
9 SETVER媯嫻嬪埌涓㈠け浜嗗懡浠よ鍙傛暟
10 鍦ㄨSETVER.EXE鏂囦歡鏃訛紝SETVER媯嫻嬪埌鍙戠敓閿欒
11 SETVER.EXE鏂囦歡鎹熷潖
12 鎸囧畾鐨凷ETVER.EXE鏂囦歡涓嶆敮鎸佺増鏈〃
13 鐗堟湰琛ㄤ腑娌℃湁瓚沖鐨勭┖闂村瓨鏀炬柊鐨勯」
14 鍦ㄥ啓SETVER.EXE鏂囦歡鏃禨ETVER媯嫻嬪埌鍙戠敓閿欒
================================================================
3銆両F STRING1 == STRING2
寤虹珛TEST5.BAT錛屾枃浠跺唴瀹瑰涓嬶細
@echo off
IF "%1" == "A" FORMAT A:
鎵ц錛?
C:\>TEST5 A
灞忓箷涓婂氨鍑虹幇鏄惁灝咥:鐩樻牸寮忓寲鐨勫唴瀹廣?
娉ㄦ剰錛氫負浜嗛槻姝㈠弬鏁頒負絀虹殑鎯呭喌錛屼竴鑸細灝嗗瓧絎︿覆鐢ㄥ弻寮曞彿錛堟垨鑰呭叾瀹冪鍙鳳紝娉ㄦ剰涓嶈兘浣跨敤淇濈暀絎﹀彿錛夋嫭璧鋒潵銆?
濡傦細if [%1]==[A] 鎴栬?if %1*==A*
5銆丟OTO
寤虹珛TEST6.BAT錛屾枃浠跺唴瀹瑰涓嬶細
@ECHO OFF
IF EXIST C:\AUTOEXEC.BAT GOTO _COPY
GOTO _DONE
:_COPY
COPY C:\AUTOEXEC.BAT D:\
:_DONE
娉ㄦ剰錛?
(1) 鏍囧彿鍓嶆槸ASCII瀛楃鐨勫啋鍙?:"錛屽啋鍙蜂笌鏍囧彿涔嬮棿涓嶈兘鏈夌┖鏍箋?
(2) 鏍囧彿鐨勫懡鍚嶈鍒欎笌鏂囦歡鍚嶇殑鍛藉悕瑙勫垯鐩稿悓銆?
(3) DOS鏀寔鏈闀垮叓浣嶅瓧絎︾殑鏍囧彿錛屽綋鏃犳硶鍖哄埆涓や釜鏍囧彿鏃訛紝灝嗚煩杞嚦鏈榪戠殑涓涓爣鍙楓?
==== willsort 緙栨敞 ====================================================
1)鏍囧彿涔熺О浣滄爣絳?label)
2)鏍囩涓嶈兘浠ュぇ澶氭暟鐨勯潪瀛楁瘝鏁板瓧瀛楃寮濮? 鑰屾枃浠跺悕涓垯鍙互浣跨敤寰堝
3)褰撴棤娉曞尯鍒袱涓爣絳炬椂, 灝嗚煩杞嚦浣嶇疆鏈闈犲墠鐨勬爣絳?
================================================================
6銆丗OR
寤虹珛C:\TEST7.BAT錛屾枃浠跺唴瀹瑰涓嬶細
@ECHO OFF
FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C
榪愯錛?
C:\>TEST7
鎵ц浠ュ悗錛屽睆騫曚笂浼氬皢C:鐩樻牴鐩綍涓嬫墍鏈変互BAT銆乀XT銆丼YS涓烘墿灞曞悕鐨勬枃浠跺唴瀹規樉紺哄嚭鏉ワ紙涓嶅寘鎷殣钘忔枃浠訛級銆?nbsp;
]]>
涓虹壒瀹氬懡浠ゆ寚瀹氬弬鏁版垨鍛戒護琛屽紑鍏熾?/p>
鑰屼笉瑕佺敤 %variable銆傚彉閲忓悕縐版槸鍖哄垎澶у皬鍐欑殑錛屾墍浠?%i 涓嶅悓浜?%I.
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
涓嬩竴涓枃浠朵箣鍓嶏紝姣忎喚鏂囦歡閮藉凡琚墦寮銆佽鍙栧茍緇忚繃澶勭悊銆?br> 澶勭悊鍖呮嫭璇誨彇鏂囦歡錛屽皢鍏跺垎鎴愪竴琛岃鐨勬枃瀛楋紝鐒跺悗灝嗘瘡琛?br> 瑙f瀽鎴愰浂鎴栨洿澶氱殑絎﹀彿銆傜劧鍚庣敤宸叉壘鍒扮殑絎﹀彿瀛楃涓插彉閲忓?br> 璋冪敤 For 寰幆銆備互榛樿鏂瑰紡錛?F 閫氳繃姣忎釜鏂囦歡鐨勬瘡涓琛屼腑鍒嗗紑
鐨勭涓涓┖鐧界鍙楓傝煩榪囩┖鐧借銆傛偍鍙氳繃鎸囧畾鍙?"options"
鍙傛暟鏇夸唬榛樿瑙f瀽鎿嶄綔銆傝繖涓甫寮曞彿鐨勫瓧絎︿覆鍖呮嫭涓涓垨澶氫釜
鎸囧畾涓嶅悓瑙f瀽閫夐」鐨勫叧閿瓧銆傝繖浜涘叧閿瓧涓?
skip=n - 鎸囧湪鏂囦歡寮濮嬫椂蹇界暐鐨勮鏁般?br> delims=xxx - 鎸囧垎闅旂闆嗐傝繖涓浛鎹簡絀烘牸鍜岃煩鏍奸敭鐨?br> 榛樿鍒嗛殧絎﹂泦銆?br> tokens=x,y,m-n - 鎸囨瘡琛岀殑鍝竴涓鍙瘋浼犻掑埌姣忎釜榪唬
鐨?for 鏈韓銆傝繖浼氬鑷撮澶栧彉閲忓悕縐扮殑鍒嗛厤銆俶-n
鏍煎紡涓轟竴涓寖鍥淬傞氳繃 nth 絎﹀彿鎸囧畾 mth銆傚鏋?br> 絎﹀彿瀛楃涓蹭腑鐨勬渶鍚庝竴涓瓧絎︽槦鍙鳳紝
閭d箞棰濆鐨勫彉閲忓皢鍦ㄦ渶鍚庝竴涓鍙瘋В鏋愪箣鍚?br> 鍒嗛厤騫舵帴鍙楄鐨勪繚鐣欐枃鏈?br> usebackq - 鎸囧畾鏂拌娉曞凡鍦ㄤ笅綾繪儏鍐典腑浣跨敤:
鍦ㄤ綔涓哄懡浠ゆ墽琛屼竴涓悗寮曞彿鐨勫瓧絎︿覆騫朵笖涓涓崟
寮曞彿瀛楃涓烘枃瀛楀瓧絎︿覆鍛戒護騫跺厑璁稿湪 filenameset
涓嬌鐢ㄥ弻寮曞彿鎵╄搗鏂囦歡鍚嶇О銆?/p>
鏉ヨ幏寰楃涓変釜絎﹀彿鍚庣殑鎵鏈夊墿浣欑鍙楓傚浜庡甫鏈夌┖鏍肩殑鏂囦歡
鍚嶏紝鎮ㄩ渶瑕佺敤鍙屽紩鍙峰皢鏂囦歡鍚嶆嫭璧鋒潵銆備負浜嗙敤榪欑鏂瑰紡鏉ヤ嬌
鐢ㄥ弻寮曞彿錛岃繕闇瑕佷嬌鐢?usebackq 閫夐」錛屽惁鍒欙紝鍙屽紩鍙蜂細
琚悊瑙f垚鏄敤浣滃畾涔夋煇涓鍒嗘瀽鐨勫瓧絎︿覆鐨勩?/p>
tokens= 閫夐」闅愬紡澹版槑鐨勩傚彲浠ラ氳繃 tokens= 涓琛?br> 鎸囧畾鏈澶?26 涓鍙鳳紝鍙涓嶈瘯鍥懼0鏄庝竴涓珮浜庡瓧姣?"z" 鎴?br> "Z" 鐨勫彉閲忋傝璁頒綇錛孎OR 鍙橀噺鏄崟涓瀛楁瘝銆佸垎澶у皬鍐欏拰鍏ㄥ眬鐨勫彉閲忥紱
鑰屼笖錛屼笉鑳藉悓鏃朵嬌鐢ㄨ秴榪?52 涓?/p>
鎷彿涔嬮棿鐨?filenameset 鍙樻垚涓涓弽鎷瓧絎︿覆銆傝瀛楃涓蹭細
琚綋浣滃懡浠よ錛屼紶閫掑埌涓涓瓙 CMD.EXE錛屽叾杈撳嚭浼氳鎹曡幏鍒?br> 鍐呭瓨涓紝騫惰褰撲綔鏂囦歡鍒嗘瀽銆傚浠ヤ笅渚嬪瓙鎵紺?
閫夐」璇硶:
%~fI - 灝?%I 鎵╁睍鍒頒竴涓畬鍏ㄥ悎鏍肩殑璺緞鍚?br> %~dI - 浠呭皢 %I 鎵╁睍鍒頒竴涓┍鍔ㄥ櫒鍙?br> %~pI - 浠呭皢 %I 鎵╁睍鍒頒竴涓礬寰?br> %~nI - 浠呭皢 %I 鎵╁睍鍒頒竴涓枃浠跺悕
%~xI - 浠呭皢 %I 鎵╁睍鍒頒竴涓枃浠舵墿灞曞悕
%~sI - 鎵╁睍鐨勮礬寰勫彧鍚湁鐭悕
%~aI - 灝?%I 鎵╁睍鍒版枃浠剁殑鏂囦歡灞炴?br> %~tI - 灝?%I 鎵╁睍鍒版枃浠剁殑鏃ユ湡/鏃墮棿
%~zI - 灝?%I 鎵╁睍鍒版枃浠剁殑澶у皬
%~$PATH:I - 鏌ユ壘鍒楀湪璺緞鐜鍙橀噺鐨勭洰褰曪紝騫跺皢 %I 鎵╁睍
鍒版壘鍒扮殑絎竴涓畬鍏ㄥ悎鏍肩殑鍚嶇О銆傚鏋滅幆澧冨彉閲忓悕
鏈瀹氫箟錛屾垨鑰呮病鏈夋壘鍒版枃浠訛紝姝ょ粍鍚堥敭浼氭墿灞曞埌
絀哄瓧絎︿覆
%~nxI - 浠呭皢 %I 鎵╁睍鍒頒竴涓枃浠跺悕鍜屾墿灞曞悕
%~fsI - 浠呭皢 %I 鎵╁睍鍒頒竴涓甫鏈夌煭鍚嶇殑瀹屾暣璺緞鍚?br> %~dp$PATH:I - 鎼滅儲鍒楀湪璺緞鐜鍙橀噺鐨勭洰褰曪紝騫跺皢 %I 鎵╁睍
鍒版壘鍒扮殑絎竴涓┍鍔ㄥ櫒鍙峰拰璺緞銆?br> %~ftzaI - 灝?%I 鎵╁睍鍒扮被浼艱緭鍑虹嚎璺殑 DIR
鐢ㄤ竴涓湁鏁堢殑 FOR 鍙橀噺鍚嶇粓姝€傞夊彇綾諱技 %I 鐨勫ぇ鍐欏彉閲忓悕
姣旇緝鏄撹錛岃屼笖閬垮厤涓庝笉鍒嗗ぇ灝忓啓鐨勭粍鍚堥敭娣鋒穯銆?/p>