請問到最後會出現找不到檔案的的狀況
這樣子該如何修改呢?
我是參考
http://www.cn-dos.net/forum/viewthread.php?tid=41630&fpage=2
lxmxn教的方法不過改起來怪怪的^^"
請幫忙一下
謝謝!
目的:
我是希望當執行到最後一個安裝程序後跳出
因為我不知道怎麼判斷哪些已安裝
所以就將此批處理方在啟動內
採安裝過後刪除INSTALL.BAT的方式
安裝一個批處理完畢後重新開機
當所有INSTALL.BAT刪除後
刪除自身批處理
批處理內容
@echo off
@color 9f
setlocal enabledelayedexpansion
set ZPahtZ=MIS
set DB-1=DB-1-Chip.ini
set DB-2=DB-2-Display.ini
set DB-3=DB-3-Audio.ini
set DB-4=
set DB-5=
set DB-9=DB-9-Vendor.ini
for %%a in (1,2,3) do call:loop %%a
echo all finishUP
:loop
set ZLocalDirsZ=%SystemDrive%\%ZPahtZ%\!DB-%~1:~3,-4!
if exist %ZLocalDirsZ%\Install.bat (
call %ZLocalDirsZ%\Install.bat
::Start shutdown -f -r -t 60
del %ZLocalDirsZ%\Install.bat
) else (
echo %~1
)
goto :eof
goto loop
echo all finish Down
結果:
C:\>for %a in (1 2 3) do call:loop %a
C:\>call:loop 1
C:\>set ZLocalDirsZ=C:\MIS\!DB-1:~3,-4!
C:\>if exist C:\MIS\1-Chip\Install.bat (
call C:\MIS\1-Chip\Install.bat
del C:\MIS\1-Chip\Install.bat
) else (echo 1 )
1
C:\>goto :eof
C:\>call:loop 2
C:\>set ZLocalDirsZ=C:\MIS\!DB-2:~3,-4!
C:\>if exist C:\MIS\2-Display\Install.bat (
call C:\MIS\2-Display\Install.bat
del C:\MIS\2-Display\Install.bat
) else (echo 2 )
2
C:\>goto :eof
C:\>call:loop 3
C:\>set ZLocalDirsZ=C:\MIS\!DB-3:~3,-4!
C:\>if exist C:\MIS\3-Audio\Install.bat (
call C:\MIS\3-Audio\Install.bat
del C:\MIS\3-Audio\Install.bat
) else (echo 3 )
3
C:\>goto :eof
C:\>echo all finishUP
all finishUP
C:\>set ZLocalDirsZ=C:\MIS\!DB-:~3,-4!
C:\>if exist C:\MIS\~3 -4\Install.bat (
C:\>call C:\MIS\~3,-4\Install.bat
'C:\MIS\~3' 不是內部或外部命令、
可執行的程式或批次檔。
C:\>del C:\MIS\~3,-4\Install.bat
系統找不到指定的檔案。
C:\>echo
ECHO 已啟動。
C:\>goto :eof