需要批次腳本幫助

需要批次腳本幫助

我創建了一個批次腳本來重新啟動可執行文件,我試圖將其輸出到顯示任何錯誤的日誌文件。

我的腳本是

@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 流以重定向到日誌檔案是必需的。

更多資訊

相關內容