0
如果有錯誤,同時運行的程序,然後回聲「錯誤」其他「成功」如何IF語句中使用的SQLCMD
sqlcmd -S DANAA-LAPTOP -d NewsWebsite -q "SP_DictionaryMain 'NewsWebsite','NEW'"
-o C:\logFile\ReportExE-%date:~-4,4%%date:~-10,2%%date:~-7,2%.txt
如果有錯誤,同時運行的程序,然後回聲「錯誤」其他「成功」如何IF語句中使用的SQLCMD
sqlcmd -S DANAA-LAPTOP -d NewsWebsite -q "SP_DictionaryMain 'NewsWebsite','NEW'"
-o C:\logFile\ReportExE-%date:~-4,4%%date:~-10,2%%date:~-7,2%.txt
試CMD &&
和||
運營商,其中&&
意味着前面的命令成功的和||
意味着前面的命令失敗
在
mycommand && echo success || echo error
你也可以寫括號
mycommand && (set "somevar=ok" & echo success) || (set "somevar=ko" & echo error)
,或者,如果你正在運行一個批處理腳本
mycommand && (
set "somevar=ok"
echo success
) || (
set "somevar=ko"
echo error
)
此外,還需要內複合命令使用
-b
開關強制sqlcmd
返回可能在批處理或命令行中捕獲的ERRORLEVEL
。發生錯誤時,此開關還會強制sqlcmd
關閉。
所以,你的情況
sqlcmd -b -S DANAA-LAPTOP -d NewsWebsite -q "SP_DictionaryMain 'NewsWebsite','NEW'" -o C:\logFile\ReportExE-%date:~-4,4%%date:~-10,2%%date:~-7,2%.txt 2>NUL && echo success || echo error
當你想echo
的東西,錯誤輸出被抑制與2>NUL
。從sqlcmd
中刪除錯誤消息
用這些語句編寫腳本並將其傳遞給'sqlcmd',而不是試圖在查詢參數中填充所有內容 –