(更正答案)
首先,如果你在一個批處理啓動.exe文件,它是安全的,與「呼」前綴它。 有時這需要確保批次正在等待完成。
使用「開始」是另一種可能性,但對於這種簡單的用例不是必需的。
你寫的命令是而不是執行。所以,顯然,你有另一個問題,而不是「不等待......完成」的問題。 看一下你提供的新例子,就是這樣。在管理模式下,您必須提供完整路徑。使用下面的小技巧(「%〜dp0」,包括已經是反斜槓),仍然可以在批處理文件中使用當前目錄。
大多數時候,如果管理員權限出現這樣的問題,這是「當前目錄」路徑的問題。一個帶有管理權限的批處理文件並沒有像我們習慣的那樣使用它,它並不在它自己的目錄中啓動(但主要在System32中)。不依賴於CD是編寫防彈批處理文件的重要內容。
一個很好的例子批次,這裏結合其他的答案,並在你的情況下,解決了一些可能的問題是:
call msiexec /i "%~dp0MySetup.msi" /qb /L*v "%~dp0MySetup.log"
echo Returncode: %ERRORLEVEL%
pause
它正確地使用當前目錄,並假定一個安裝的命令行包括日誌文件(作品只有當您在當前目錄中有寫入權限時,如果未指定具有寫入權限的日誌文件的路徑,例如「%TEMP%\ MySetup.log」。
注意:切記要真正開始具有管理權限的批處理文件(右鍵菜單或打開管理命令外殼之前:)
謝謝,所有你寫了真正的幫助我! – s0nica
受歡迎。我想引導感興趣的讀者到我的「第二個」答案的下面,以及創建一個批處理文件的相關技巧(重新)自動啓動管理員權限(UAC)沒有,用戶(通常沒有經驗)需要「開始作爲管理員」左右:http://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights/14729312#14729312這與這裏的問題有關,因爲顯然,設置需要管理員權限和概率lem包含兩個子問題。 – Philm