
我創建了一個批次腳本來重新啟動可執行文件,我試圖將其輸出到顯示任何錯誤的日誌文件。
我的腳本是
@echo on
timeout /t 03
set logfile=c:\users\administrator\desktop\C4W\Logs\status.log
echo starting system.exe at %date% %time% >> %logfile%
"./system.exe" -connection "sql instance" -model "model number" -username "admin" -password "" -id 2 >> %logfile%
Pause
Exit 0
正如您所看到的,我的可執行檔正在連接到 sql 實例和 sql 資料庫中的模型。當我執行批次檔時,螢幕上出現錯誤,提示「輸入不是有效的 Base-64 字串,因為它包含非 Base 64 字元、兩個以上的填充字元或填充中的非空白字元」人物」。但我的日誌檔案沒有顯示此錯誤,它只是顯示我的可執行檔已運行並顯示了日期和時間。我嘗試將 & 符號放入 >>& %logfile% 但隨後我在 cmd 視窗中沒有看到錯誤訊息,並且我的日誌也沒有顯示它。
誰能看見我哪裡出錯了?
答案1
若要將命令的錯誤輸出與任何標準輸出一起重定向到日誌文件,請附加>>logfile.txt 2>>&1
到您的命令,如下所示:
yourcommand.exe >>logfile.txt 2>>&1
該2>>&1
語法對於「組合」StdOut 和 SteErr 流以重定向到日誌檔案是必需的。