-
批處理符號(hào)簡(jiǎn)介
回顯屏蔽 @
表示不顯示@后面的命令
@用法舉例:通過運(yùn)行批處理文件對(duì)比pause和@pause命令即可明了@的效果。
重定向1 >與>>
將輸出信息重定向到指定的設(shè)備或文件棺滞。系統(tǒng)默認(rèn)輸出到顯示器婿脸。
\>清除文件中原有的內(nèi)容后再寫入
\>\>追加內(nèi)容到文件末尾,而不會(huì)清除原有的內(nèi)容主要將本來顯示在屏幕上的內(nèi)容輸出到指定文件中指定文件如果不存在,則自動(dòng)生成該文件
====================================================
echo hello world>c:/test.txt 生成c:/test.txt文件,內(nèi)容為hello world這個(gè)格式在批處理文件里用得很多鬼贱,可以生成.reg .bat .vbs 等臨時(shí)文件
type c:/test.txt >prn 屏幕上不顯示文件內(nèi)容,轉(zhuǎn)向輸出到打印機(jī)
echo hello world>con 在屏幕上顯示hello world拒名,實(shí)際上所有輸出都是默認(rèn) >con 的
copy c:/test.txt f: >nul 拷貝文件吩愧,并且不顯示"文件復(fù)制成功"的提示信息芋酌,但如果f盤不存在增显,還是會(huì)顯示出錯(cuò)信息
copy c:/test.txt f: >nul 2>nul 不顯示"文件復(fù)制成功"的提示信息,并且f盤不存在的話脐帝,也不顯示錯(cuò)誤提示信息
echo ^^W ^> ^W>c:/test.txt 生成的文件內(nèi)容為 ^W > W^ 和 > 是控制命令同云,要把它們輸出到文件,必須在前面加個(gè) ^符號(hào)
================================================
重定向2 <
將輸入信息來源重定向?yàn)橹付ǖ脑O(shè)備或文件堵腹。系統(tǒng)默認(rèn)從顯示器讀取輸入信息炸站。
重定向使用舉例:
=========================================
@echo off
echo abcdefg——這是文件a.txt中的信息>a.txt
echo 請(qǐng)任意輸入字符,以回車結(jié)束:
set /p ifo=
cls
echo 【 從屏幕獲得的輸入信息 】
echo %ifo%
set /p ifo=<a.txt
echo 【 從文件a.txt獲得的輸入信息 】
echo %ifo%
pause
=========================================
管道符號(hào) |
前一個(gè)命令的執(zhí)行結(jié)果輸出到后一個(gè)命令
dir *.* /s/a | find /c ".exe"管道命令表示先執(zhí)行 dir 命令疚顷,對(duì)其輸出的結(jié)果執(zhí)行后面的 find 命令該命令行結(jié)果:
輸出當(dāng)前文件夾及所有子文件夾里的.exe文件的個(gè)數(shù)
轉(zhuǎn)義符 ^
將特殊符號(hào)轉(zhuǎn)化為一般符號(hào)旱易,即剝離特殊符號(hào)的特殊地位。特殊符號(hào)指:| & > <
比如腿堤,如果我們想輸出符號(hào)“>”阀坏,直接用命令 echo > 是不行的,必須修改為 echo ^> 笆檀。其余幾個(gè)特殊符號(hào)類似需要有同樣的處理忌堂。
轉(zhuǎn)義字符使用舉例:
=========================================
@echo off
echo aaaa>a.txt
echo 第一句echo執(zhí)行完畢
echo aaaa^>a.txt
echo 第二句echo執(zhí)行完畢
pause
=========================================
比較上面的兩句echo,第一句echo將信息aaaa輸出到了文件a.txt酗洒,而第二句echo則在直接屏幕上顯示除aaaa>a.txt
邏輯命令符包括:&士修、&&枷遂、||
-&順序執(zhí)行多條命令,而不管命令是否執(zhí)行成功
c: & cd/ & dir /w相當(dāng)于把下面3行命令寫到1行去了c:cd/dir /w
-&&順序執(zhí)行多條命令棋嘲,當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不執(zhí)行后面的命令
f: && cd/ && dir >c:/test.txt注意如果f盤不存在酒唉,那么后面2條命令將不會(huì)執(zhí)行
find "ok" c:/test.txt && echo 成功如果找到了"ok"字樣,就顯示"成功"沸移,找不到就不顯示
-||順序執(zhí)行多條命令黔州,當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令
find "ok" c:/test.txt || echo 不成功如果找不到"ok"字樣,就顯示"不成功"阔籽,找到了就不顯示
-
批處理命令簡(jiǎn)介
echo
echo 和 @
回顯命令
@ #關(guān)閉單行回顯
echo off #從下一行開始關(guān)閉回顯
@echo off #從本行開始關(guān)閉回顯流妻。一般批處理第一行都是這個(gè)
echo on #從下一行開始打開回顯
echo #顯示當(dāng)前是 echo off 狀態(tài)還是 echo on 狀態(tài)
echo. #輸出一個(gè)”回車換行”,空白行
errorlevel
echo %errorlevel%
每個(gè)命令運(yùn)行結(jié)束笆制,可以用這個(gè)命令行格式查看返回碼
默認(rèn)值為0绅这,一般命令執(zhí)行出錯(cuò)會(huì)設(shè) errorlevel 為1
帶選擇的命令后可接受命令代碼,參看choice例子
rem
rem 和 ::
注釋命令
注釋行不執(zhí)行操作
pause
暫停命令在辆。運(yùn)行 Pause 命令時(shí)证薇,將顯示下面的消息:Press any key to continue. . .(或:請(qǐng)按任意鍵繼續(xù). . .)
===========================================
@echo off
:begin
copy G:*.* d:/back
echo 請(qǐng)插入另一張光盤...
pause
goto begin
============================================
在這個(gè)例子中,驅(qū)動(dòng)器 G 中磁盤上的所有文件均復(fù)制到d:/back中匆篓。顯示的注釋提示您將另一張光盤盤放入驅(qū)動(dòng)器 G 時(shí)浑度,pause 命令會(huì)使程序掛起,以便您更換光盤鸦概,然后按任意鍵繼續(xù)處理箩张。
call
從一個(gè)批處理程序調(diào)用另一個(gè)批處理程序,并且不終止父批處理程序窗市。call 命令接受用作調(diào)用目標(biāo)的標(biāo)簽先慷。如果在腳本或批處理文件外使用 Call,它將不會(huì)在命令行起作用咨察。
call [[Drive:][Path] FileName ] [:label [arguments]]
call test.bat //調(diào)用另一個(gè)bat文件
===========================================
@ echo off
call :label
echo 1
echo 2
:label
echo 3
echo 4
===========================================
首先论熙,我們看到,用call的時(shí)候摄狱,label前面的:不能丟掉脓诡,否則錯(cuò)誤(當(dāng)然,對(duì)于goto而言媒役,你也可以加上:)祝谚。
另外,結(jié)果也不同刊愚,用call的時(shí)候結(jié)果為:341234
可以看到踊跟,goto很單純,直接Go to 到了某地方,而call則有點(diǎn)調(diào)用的意味商玫,所以箕憾, goto 和call的還是有區(qū)別的。
start
調(diào)用外部程序拳昌,所有的DOS命令和命令行程序都可以由start命令來調(diào)用袭异。 如:start calc.exe 即可打開Windows的計(jì)算器。
goto
goto 和 :
跳轉(zhuǎn)命令炬藤。程序指針跳轉(zhuǎn)到指定的標(biāo)簽御铃,從標(biāo)簽后的第一條命令開始繼續(xù)執(zhí)行批處理程序。
:label #行首為:表示該行是標(biāo)簽行沈矿,標(biāo)簽行不執(zhí)行操作
goto label #跳轉(zhuǎn)到指定的標(biāo)簽?zāi)且恍?
set
顯示上真、設(shè)置或刪除變量。
顯示變量:set 或 set s 前者顯示批處理當(dāng)前已定義的所有變量及其值羹膳,后者顯示所有以s開頭的變量及值睡互。
設(shè)置變量:set aa=abcd 此句命令便可向變量aa賦值abcd。
如果變量aa已被定義陵像,則aa的值被修改為abcd就珠;若aa尚未定義,則此句命令即可定義新的變量aa醒颖,同時(shí)為變量aa賦予初始值abcd妻怎。
刪除變量:set aa= 此句命令即可刪除變量aa。若變量aa已被定義泞歉,則刪除變量aa逼侦;若aa尚未定義,則此句命令為實(shí)質(zhì)意義疏日。
需要說明的是偿洁,批處理中的變量是不區(qū)分類型的撒汉,不需要像C語(yǔ)言中的變量那樣還要區(qū)分int沟优、float、char等睬辐。比如執(zhí)行set aa=345后挠阁,變量aa的值既可以被視為數(shù)字345,也可以被視為字符串345溯饵。
set命令具有擴(kuò)展功能侵俗,如用作交互輸入、字符串處理丰刊、數(shù)值計(jì)算等隘谣,屬于高級(jí)命令范疇。
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令行傳遞給批處理的參數(shù)
%0 批處理文件本身
%1 第一個(gè)參數(shù)
%9 第九個(gè)參數(shù)
%* 從第一個(gè)參數(shù)開始的所有參數(shù)
批參數(shù)(%n)的替代已被增強(qiáng)。您可以使用以下語(yǔ)法
%~1 - 刪除引號(hào)(")寻歧,擴(kuò)充 %1
%~f1 - 將 %1 擴(kuò)充到一個(gè)完全合格的路徑名
%~d1 - 僅將 %1 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)
%~p1 - 僅將 %1 擴(kuò)充到一個(gè)路徑
%~n1 - 僅將 %1 擴(kuò)充到一個(gè)文件名
%~x1 - 僅將 %1 擴(kuò)充到一個(gè)文件擴(kuò)展名
%~s1 - 擴(kuò)充的路徑指含有短名
%~a1 - 將 %1 擴(kuò)充到文件屬性
%~t1 - 將 %1 擴(kuò)充到文件的日期/時(shí)間
%~z1 - 將 %1 擴(kuò)充到文件的大小
%~$PATH : 1 - 查找列在 PATH 環(huán)境變量的目錄掌栅,并將 %1
擴(kuò)充到找到的第一個(gè)完全合格的名稱。如果環(huán)境
變量名未被定義码泛,或者沒有找到文件猾封,此組合鍵會(huì)
擴(kuò)充到空字符串
可以組合修定符來取得多重結(jié)果:
%~dp1 - 只將 %1 擴(kuò)展到驅(qū)動(dòng)器號(hào)和路徑
%~nx1 - 只將 %1 擴(kuò)展到文件名和擴(kuò)展名
%~dp$PATH:1 - 在列在 PATH 環(huán)境變量中的目錄里查找 %1,
并擴(kuò)展到找到的第一個(gè)文件的驅(qū)動(dòng)器號(hào)和路徑噪珊。
%~ftza1 - 將 %1 擴(kuò)展到類似 DIR 的輸出行晌缘。
可以參照 call/? 或 for/? 看出每個(gè)參數(shù)的含意
echo load "%%1" "%%2">c:test.txt
生成的文件內(nèi)容為 load "%1" "%2"
批處理文件里,用這個(gè)格式把命令行參數(shù)輸出到文件
==============================================
在C盤根目錄新建test.bat痢站,內(nèi)容如下:
@echo off
echo %0
echo %1
echo %2
echo %*
運(yùn)行cmd磷箕,輸入 c:/test.bat "/a" /b /c /d,可以看出每個(gè)參數(shù)的含意 修改test.bat內(nèi)容如下
@echo off
echo %1
echo %~1
echo %0
echo %~f0
echo %~d0
echo %~p0
echo %~n0
echo %~x0
echo %~s0
echo %~a0
echo %~t0
echo %~z0
再運(yùn)行cmd,輸入 c:/test.bat "/a" /b /c /d可以參照 call/? 或 for/? 看出每個(gè)參數(shù)的含意阵难,注意這里可以對(duì)文件進(jìn)行日期比較和大小比較:
echo load "%%1" "%%2">c:/test.txt
==============================================
set設(shè)置變量
設(shè)置變量
引用變量可在變量名前后加 % 搀捷,即 %變量名%
set #顯示目前所有可用的變量,包括系統(tǒng)變量和自定義的變量
echo %SystemDrive% #顯示系統(tǒng)盤盤符多望。系統(tǒng)變量可以直接引用
set p #顯示所有以p開頭的變量嫩舟,要是一個(gè)也沒有就設(shè)errorlevel=1
set p=aa1bb1aa2bb2 #設(shè)置變量p,并賦值為 = 后面的字符串怀偷,即aa1bb1aa2bb2
echo %p% #顯示變量p代表的字符串家厌,即aa1bb1aa2bb2
echo %p:~6% #顯示變量p中第6個(gè)字符以后的所有字符,即aa2bb2
echo %p:~6,3% #顯示第6個(gè)字符以后的3個(gè)字符椎工,即aa2
echo %p:~0,3% #顯示前3個(gè)字符饭于,即aa1
echo %p:~-2% #顯示最后面的2個(gè)字符,即b2
echo %p:~0,-2% #顯示除了最后2個(gè)字符以外的其它字符维蒙,即aa1bb1aa2b
echo %p:aa=c% #用c替換變量p中所有的aa掰吕,即顯示c1bb1c2bb2
echo %p:aa=% #將變量p中的所有aa字符串置換為空,即顯示1bb12bb2
echo %p:*bb=c% #第一個(gè)bb及其之前的所有字符被替換為c颅痊,即顯示c1aa2bb2
set p=%p:*bb=c% #設(shè)置變量p殖熟,賦值為 %p:*bb=c% ,即c1aa2bb2
set /a p=39 #設(shè)置p為數(shù)值型變量斑响,值為39
set /a p=39/10 #支持運(yùn)算符菱属,有小數(shù)時(shí)用去尾法,39/10=3.9舰罚,去尾得3纽门,p=3
set /a p=p/10 #用 /a 參數(shù)時(shí),在 = 后面的變量可以不加%直接引用
set /a p=”1&0″ #”與”運(yùn)算营罢,要加引號(hào)赏陵。其它支持的運(yùn)算符參見set/?
set p= #取消p變量
set /p p=請(qǐng)輸入
屏幕上顯示”請(qǐng)輸入”,并會(huì)將輸入的字符串賦值給變量p
注意這條可以用來取代 choice 命令
注意變量在 if 和 for 的復(fù)合語(yǔ)句里是一次性全部替換的,如
@echo off
set p=aaa
if %p%==aaa (
echo %p%
set p=bbb
echo %p%
)
結(jié)果將顯示
aaa
aaa
因?yàn)樵谧x取 if 語(yǔ)句時(shí)已經(jīng)將所有 %p% 替換為aaa
這里的"替換"蝙搔,在 /? 幫助里就是指"擴(kuò)充"候醒、"環(huán)境變量擴(kuò)充"
可以啟用”延緩環(huán)境變量擴(kuò)充”,用 ! 來引用變量杂瘸,即 !變量名!
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
echo %p%
set p=bbb
echo !p!
)
ENDLOCAL
結(jié)果將顯示
aaa
bbb
還有幾個(gè)動(dòng)態(tài)變量倒淫,運(yùn)行 set 看不到
%CD% #代表當(dāng)前目錄的字符串
%DATE% #當(dāng)前日期
%TIME% #當(dāng)前時(shí)間
%RANDOM% #隨機(jī)整數(shù),介于0~32767
%ERRORLEVEL% #當(dāng)前 ERRORLEVEL 值
%CMDEXTVERSION% #當(dāng)前命令處理器擴(kuò)展名版本號(hào)
%CMDCMDLINE% #調(diào)用命令處理器的原始命令行
可以用echo命令查看每個(gè)變量值败玉,如 echo %time%
注意 %time% 精確到毫秒敌土,在批處理需要延時(shí)處理時(shí)可以用到
choice 語(yǔ)句
@echo off
rem 以下在win2000pro運(yùn)行通過,從win98里拷的chioce.com文件
choice /c:abc
if errorlevel 3 goto ccc
if %errorlevel%==2 goto bbb
if errorlevel==1 goto aaa
rem 必須先判斷數(shù)值高的返回碼rem 可以看到 errorlevel 值的判斷有3種寫法运翼,有時(shí)某種寫法不好用返干,可以用另外的寫法
:aaa
echo aaa
goto end
:bbb
echo bbb
goto end
:ccc
echo ccc
goto end
:end
assoc 和 ftype文件關(guān)聯(lián)
assoc 和 ftype文件關(guān)聯(lián)assoc 設(shè)置'文件擴(kuò)展名'關(guān)聯(lián),關(guān)聯(lián)到'文件類型'ftype 設(shè)置'文件類型'關(guān)聯(lián)血淌,關(guān)聯(lián)到'執(zhí)行程序和參數(shù)'當(dāng)你雙擊一個(gè).txt文件時(shí)矩欠,windows并不是根據(jù).txt直接判斷用 notepad.exe 打開而是先判斷.txt屬于 txtfile '文件類型'再調(diào)用 txtfile 關(guān)聯(lián)的命令行 txtfile=%SystemRoot%/system32/NOTEPAD.EXE %1可以在"文件夾選項(xiàng)"→"文件類型"里修改這2種關(guān)聯(lián)
assoc #顯示所有'文件擴(kuò)展名'關(guān)聯(lián)
assoc .txt #顯示.txt代表的'文件類型',結(jié)果顯示 .txt=txtfile
assoc .doc #顯示.doc代表的'文件類型'悠夯,結(jié)果顯示 .doc=Word.Document.8
assoc .exe #顯示.exe代表的'文件類型'癌淮,結(jié)果顯示 .exe=exefile
ftype #顯示所有'文件類型'關(guān)聯(lián)
ftype exefile #顯示exefile類型關(guān)聯(lián)的命令行,結(jié)果顯示 exefile="%1" %* assoc .txt=Word.Document.8設(shè)置.txt為word類型的文檔沦补,可以看到.txt文件的圖標(biāo)都變了
assoc .txt=txtfile恢復(fù).txt的正確關(guān)聯(lián) ftype exefile="%1" %*恢復(fù) exefile 的正確關(guān)聯(lián)
如果該關(guān)聯(lián)已經(jīng)被破壞乳蓄,可以運(yùn)行 command.com ,再輸入這條命令
pushd 和 popd切換當(dāng)前目錄
@echo off
c: & cd/ & md mp3 #在 C:/ 建立 mp3 文件夾
md d:/mp4 #在 D:/ 建立 mp4 文件夾
cd /d d:/mp4 #更改當(dāng)前目錄為 d:/mp4
pushd c:/mp3 #保存當(dāng)前目錄夕膀,并切換當(dāng)前目錄為 c:/mp3
popd #恢復(fù)當(dāng)前目錄為剛才保存的 d:/mp4一般用處不大虚倒,在當(dāng)前目錄名不確定時(shí),會(huì)有點(diǎn)幫助
subst (外部命令)映射磁盤
subst z: //server/d #這樣輸入z:就可以訪問//server/d了
subst z: /d #取消該映射
subst #顯示目前所有的映
if
判斷命令
if "%1"=="/a" echo 第一個(gè)參數(shù)是/a
if /i "%1" equ "/a" echo 第一個(gè)參數(shù)是/a
/i 表示不區(qū)分大小寫产舞,equ 和 == 是一樣的魂奥,其它運(yùn)算符參見 if/?
if exist c:test.bat echo 存在c:test.bat文件
if not exist c:windows (
echo 不存在c:windows文件夾
)
if exist c:test.bat (
echo 存在c:test.bat
) else (
echo 不存在c:test.bat
)
setlocal 和 endlocal
設(shè)置”命令擴(kuò)展名”和”延緩環(huán)境變量擴(kuò)充”
SETLOCAL ENABLEEXTENSIONS #啟用"命令擴(kuò)展名"
SETLOCAL DISABLEEXTENSIONS #停用"命令擴(kuò)展名"
SETLOCAL ENABLEDELAYEDEXPANSION #啟用"延緩環(huán)境變量擴(kuò)充"
SETLOCAL DISABLEDELAYEDEXPANSION #停用"延緩環(huán)境變量擴(kuò)充"
ENDLOCAL #恢復(fù)到使用SETLOCAL語(yǔ)句以前的狀態(tài)
“命令擴(kuò)展名”默認(rèn)為啟用
“延緩環(huán)境變量擴(kuò)充”默認(rèn)為停用
批處理結(jié)束系統(tǒng)會(huì)自動(dòng)恢復(fù)默認(rèn)值
可以修改注冊(cè)表以禁用"命令擴(kuò)展名",詳見 cmd /? 易猫。所以用到"命令擴(kuò)展名"的程
序耻煤,建議在開頭和結(jié)尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 語(yǔ)句,以確
保程序能在其它系統(tǒng)上正確運(yùn)行
"延緩環(huán)境變量擴(kuò)充"主要用于 if 和 for 的符合語(yǔ)句擦囊,在 set 的說明里有其實(shí)用例程
for
循環(huán)命令
這個(gè)比較復(fù)雜违霞,請(qǐng)對(duì)照 for/? 來看
for %%i in (c: d: e: f:) do echo %%i
依次調(diào)用小括號(hào)里的每個(gè)字符串,執(zhí)行 do 后面的命令
注意%%i瞬场,在批處理中 for 語(yǔ)句調(diào)用參數(shù)用2個(gè)%
默認(rèn)的字符串分隔符是"空格鍵","Tab鍵"涧郊,"回車鍵"
for %%i in (*.txt) do find "abc" %%i
對(duì)當(dāng)前目錄里所有的txt文件執(zhí)行 find 命令
for /r . %%i in (*.txt) do find "abc" %%i
在當(dāng)前目錄和子目錄里所有的.txt文件中搜索包含 abc 字符串的行
for /r . %%i in (.) do echo %%~pni
顯示當(dāng)前目錄名和所有子目錄名贯被,包括路徑,不包括盤符
for /r d:mp3 %%i in (*.mp3) do echo %%i>>d:mp3.txt
把 d:mp3 及其子目錄里的mp3文件的文件名都存到 d:mp3.txt 里去
for /l %%i in (2,1,8) do echo %%i
生成2345678的一串?dāng)?shù)字,2是數(shù)字序列的開頭彤灶,8是結(jié)尾看幼,1表示每次加1
for /f %%i in ('set') do echo %%i
對(duì) set 命令的輸出結(jié)果循環(huán)調(diào)用,每行一個(gè)
for /f "eol=P" %%i in ('set') do echo %%i
取 set 命令的輸出結(jié)果幌陕,忽略以 P 開頭的那幾行
for /f %%i in (d:mp3.txt) do echo %%i
顯示 d:mp3.txt 里的每個(gè)文件名诵姜,每行一個(gè),不支持帶空格的名稱
for /f "delims=" %%i in (d:mp3.txt) do echo %%i
顯示 d:mp3.txt 里的每個(gè)文件名搏熄,每行一個(gè)棚唆,支持帶空格的名稱
for /f "skip=5 tokens=4" %%a in ('dir') do echo %%a
對(duì) dir 命令的結(jié)果,跳過前面5行心例,余下的每行取第4列
每列之間的分隔符為默認(rèn)的"空格"
可以注意到 dir 命令輸出的前5行是沒有文件名的
for /f "tokens=1,2,3 delims=- " %%a in ('date /t') do (
echo %%a
echo %%b
echo %%c
)
對(duì) date /t 的輸出結(jié)果宵凌,每行取1、2止后、3列
第一列對(duì)應(yīng)指定的 %%a 瞎惫,后面的 %%b 和 %%c 是派生出來的,對(duì)應(yīng)其它列
分隔符指定為 - 和"空格"译株,注意 delims=- 后面有個(gè)"空格"
其中 tokens=1,2,3 若用 tokens=1-3 替換瓜喇,效果是一樣的
for /f "tokens=2* delims=- " %%a in ('date /t') do echo %%b
取第2列給 %%a ,其后的列都給 %%b
xcopy (外部命令)
文件拷貝
xcopy d:mp3 e:mp3 /s/e/i/y
復(fù)制 d:mp3 文件夾歉糜、所有子文件夾和文件到 e: 欠橘,覆蓋已有文件
加 /i 表示如果 e: 沒有 mp3 文件夾就自動(dòng)新建一個(gè),否則會(huì)有詢問
2021年12月16日现恼,看著筆記寫了一個(gè)循環(huán)遞增字符串肃续,就是賦不上值
set a=a
:begin
set a = %random%%a%
echo %a% > a.txt
ping /n 5 127.1 >nul
goto begin
最后發(fā)現(xiàn)是因?yàn)椋涸谠O(shè)置自定義變量時(shí) set 變量后要緊跟=中間不能有空格