2015-12-21 63 views
0

我從事IT幫助臺,新的編碼,但放在一起這批文件,讓我們的夜間更新更快的速度完成:更新批處理文件:實現有條件參數

@echo off 
echo. 
echo   RTC Customer Care - Variety Pre-Eigen Updater 
echo  (Continue along with 'ENTER' to reach desired update.) 
echo. 
pause 
echo. 
echo ==================================== 
echo Transfer Required Files to C: Drive? 
echo ==================================== 
echo. 
echo. 
pause 
cd /d h:\smsback 
call vwiw3net2.bat 
echo. 
echo      (Finished copying files) 
echo    Note: If transfer failed, re-run updater. 
pause 
echo. 
echo =========================== 
echo Execute Part 1/2 of Update? 
echo =========================== 
echo. 
echo. 
pause 
echo     (Follow prompts till completion) 
start /d "c:\smsback\1_win3_1" WindowsInstaller-KB893803-v2-x86.exe 
pause 
echo. 
echo =========================== 
echo Execute Part 2/2 of Update? 
echo =========================== 
echo. 
echo. 
pause 
echo     (Follow prompts till completion) 
echo   Note: 2nd update takes a few minutes to display. 
start /d "c:\smsback\2_net2" NetFx20SP2_x86.exe 
pause 
echo. 
echo. 
echo ================================================== 
echo ATTENTION: Register will RESTART to finish update. 
echo ================================================== 
echo. 
pause 
shutdown.exe /r /t 05 
(goto) 2>nul & del "%~f0" 

什麼會被一些好的條件論據驗證是否安裝了更新?文件大小?只是不想運行腳本來更新2並打開/關閉以前的步驟。

+0

未轉義的括號,那些給我起雞皮疙瘩,儘管它們在這個劇本中似乎不好。 。 。 – Bloodied

+0

當我抄襲它時,是錯誤打印:0 –

回答

0

首先,打開命令提示符窗口並在那裏運行start /?help start會導致顯示此命令的幫助。它可以在有關/Dpath和此命令的其他選項的輸出幫助中讀取。 /D和路徑之間沒有空格。

二,開始將第一個雙引號字符串解釋爲標題。因此,應在命令行中指定"""useful title",如果其中任何其他參數用雙引號括起來,則應在開始作爲第一個參數。

第三,如果開始用於從一個批處理文件安裝,它是更好,因爲它是無法運行多個設備並行使用這個命令與參數/wait。用於安裝每個安全更新的msiexec不允許同時運行多個安裝/修復/卸載操作。第四,Windows安全更新的大多數可執行文件都是控制檯應用程序,可以在批處理文件中運行,而不需要使用命令start。因此,而不是

start /d "c:\smsback\1_win3_1" WindowsInstaller-KB893803-v2-x86.exe 

會更好只使用:

C:\smsback\1_win3_1\WindowsInstaller-KB893803-v2-x86.exe 

五,Windows安全的可執行文件更新所有出口與價值上的錯誤更大的0和0成功。因此,在運行無命令的開始的安全更新可執行文件之後,可以使用類似以下的行來檢查可執行文件的返回值。

if errorlevel 1 echo Failed to install KB893803-v2-x86, error code %ERRORLEVEL%. 

請參閱Windows Installer Error MessagesMsiExec.exe and InstMsi.exe Error Messages

最後,可以從Windows註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Updates及其子項查詢已安裝哪些更新。

+0

非常感謝,您的建議非常準確且有幫助。在我們發言時進行修訂。 –