1樓:匿名使用者
你可以在每一條命令後用 || 連線一個處理出錯的命令嘛,至於是讓它終止還是繼續執行後續命令自己去編
補充:既然不想另存一個配置檔案,那就列在批處理最下方,待批處理**安排就緒,再定skip=n中的n(即倒數第31行在批處理中的行數)類似如下形式(當然你可以不用||,而根據!errorlevel!
用if分別作不同處置):
@echo off
::setlocal enabledelayedexpansion
for /f "skip=n tokens=1,2,3,4,5" %%a in ( %0 ) do (
call msdev.exe %%b /made %%c - %%d /%%e || (
::出錯處理命令系列,如 echo 第%%a項出錯 &pause & goto err )
)::執行完還想進行的系列命令
echo 處理完畢,按任意鍵退出
pause>nul &exit
:err
num codepath projectname congfig compileway
1 ......
2 3
......
30 .....
2樓:匿名使用者
既然其中的30條命令中是引數不同,何不用for迴圈;
如二樓據說,迴圈中每條命令,用來返回錯誤碼,以及退出操作,當然你得開啟變數延遲
如果某一條命令有意外,你可以用if條件句來篩選————————————————————
以上回答,合希望對你有用
其實你不如把**貼出來,那樣我們的回答才更有針對性
3樓:aa桐哥
dir c:
if errorlevel 1 goto ccdir d:
if errorlevel 1 goto ccdir e:
if errorlevel 1 goto ccdir f:
if errorlevel 1 goto ccexit
:ccecho 執行出錯!!
pause
批處理執行錯誤
4樓:依夢琴瑤
注意空格,還有,最後一個結尾的括號不應該是中文括號
@echo off
if not exist h:\bat\shift.bat (copy i:
\shift.bat d:\bat\) else (echo 在d盤dat資料夾下已有shift.
bat檔案了)
5樓:哦米噶滴
你都將echo off了,當然無法看到echo顯示的資訊啦。
批處理判斷語句是否執行成功的方法
6樓:匿名使用者
什麼語言,什麼環境,設定一個返回值就可以了,當執行成功返回標誌就行了。
7樓:匿名使用者
根據系統變數%errorlevel%來判斷其返回的結果,從而判斷批處理是否成功執行。
errorlevel的返回值:每個命令執行之後,基本返回值0或1(0表示成功,1表示失敗)
特別是內部命令,不能一概的說是系統規定的,而是命令所指定的,第三方命令(外部命令)會提供多個甚至幾十個返回值但最多 256±1 個返回值,各命令的返回值含義可能各不相同。
本來批處理檢測是否成功有個錯誤返回值errorlevel,一般程式執行結束都會有個返回值,0表示執行成功,if %errorlevle% equ 0 echo yes
不過這個錯誤**有些程式不怎麼好用。。。所以一般都用管道符號&&來代替
set/a c=a+b &&set/a c=c+1 表示如果c=a+b執行成功才會執行c=c+1
bat批處理中 %errorlevel%返回值問題 20
8樓:依夢琴瑤
%errorlevel%改成!errorlevel!試試看
因為你用到了變數延遲。
批處理實現計數,批處理啟動計數 執行次數記錄 請高手幫忙!
shutdown r 重啟 ping n 60 127.1 nul 60秒後 ping 127.1 echo off for f tokens 1,2 delims a in xx.bat do if a judge set a var b 1 if var gtr 5 start iexplore...
批處理問題
總得來說,以後寫批處理的時候一定要注意,千萬不要將批處理儲存為跟系統自身的命令一樣,也不要在批處理中寫有可能呼叫自身檔名的命令。你第一次說會執行很多次,估計是你把 上面的 儲存為1.bat了 在批處理中,並不是用來拼接字串的,它的作用是用來分隔命令的,也就是說你的 set a b a 就造價於以下兩...
批處理中的問題,批處理中 與 有什麼區別
1.set a num random s 1 夾在中間的 是指求模的意思,也就是用隨機數除以 s 後得出的餘數.假如 s 的值為100,那麼 random 100就是用隨機數除以100然後取餘數,此時餘數就只會在0 99之間了,後面再 1,num的值也就是1 100之間了.2.if not defi...