的錯誤級別只要.bat文件運行是0。但是我使用錯誤級別爲條件,如:批處理文件,錯誤級別設置爲0,在啓動時
REG Query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\test 2>NUL>>MMG.dat
If %ERRORLEVEL% == 0 goto turnon
REG Query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\test2>NUL>>MMG.dat
If %ERRORLEVEL% == 0 goto turnon
REG Query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\test 3>NUL>>MMG.dat
If %ERRORLEVEL% == 0 goto turnon
If %ERRORLEVEL% == 1 goto EOF
我的問題是,如果錯誤級別已經設置爲0,則條件變爲無效。
無論如何,我可以解決這個問題嗎?
注意:錯誤級別不在文件的任何位置設置。
我學習這種語言,所以請原諒如果明顯錯誤
感謝
你是什麼意思,「如果errorlevel已經設置爲0」?你的意思是設置了名稱爲ERRORLEVEL的環境變量嗎? (你可以使用'set'命令列出所有的環境變量。)否則,你沒有問題,因爲一旦你運行一個新的命令,任何以前的錯誤級別都會被遺忘。 –
未設置環境錯誤級別變量。當我啓動腳本時,錯誤級別已經爲0(我在腳本的最頂部添加echo ERRORLEVEL IS:%errorlevel%來顯示錯誤級別)我的問題是我使用errorlevel作爲條件(參見上面的示例),如果錯誤級別已經爲0,那麼該條件將從預期的腳本變爲無效。我有一個reg條件查詢,在每個條件下都有「if」條件,如果reg值存在(errorlevel 0),用goto命令提醒用戶。 – DaE
錯誤級別「已經是」並不重要。每次運行'reg'命令時,錯誤級別都會改變,所以當您測試%ERRORLEVEL%時,您只能從前面的命令中獲得結果。 –