0
我想運行cmd.exe "D:a.bat"
但我沒有得到任何東西。 它通過雙擊運行批處理文件時起作用。如何在命令行中使用cmd.exe將輸出保存爲文件?
在批處理文件中的代碼是:
echo teztttttt >> a.txt
有人可以幫助我瞭解爲什麼通過cmd.exe運行該命令沒有產生預期的結果。
我想運行cmd.exe "D:a.bat"
但我沒有得到任何東西。 它通過雙擊運行批處理文件時起作用。如何在命令行中使用cmd.exe將輸出保存爲文件?
在批處理文件中的代碼是:
echo teztttttt >> a.txt
有人可以幫助我瞭解爲什麼通過cmd.exe運行該命令沒有產生預期的結果。
通常情況下,您不需要調用cmd.exe來執行批處理腳本。一個批處理腳本調用另一個批處理腳本的典型方法是使用call "D:a.bat" >> a.txt
。
但我會假設你有一個很好的理由通過CMD.EXE運行腳本。
閱讀文檔(cmd /?
從命令提示符處),您將看到您必須在/C
前加上您的命令。
cmd.exe /c "D:a.bat"
與本守則的問題,您所顯示的,但如果你仔細閱讀的幫助下,你會看到有一些有趣的業務CMD.EXE如何處理引號。
如果必須引用腳本由於空間和/或毒物的字符,你也有引號後面的參數,那麼你可能不會得到你想要的東西,因爲CMD.EXE將刪除第一個和最後報價。
例如:
cmd.exe /c "my script.bat" "this&that"
將嘗試(並且很可能會失敗)執行
my script.bat" "this&that
其中
my
是第一個節目名稱script.bat" "this
是第一論點&
是命令並置運算符(它不引用或轉義)that
是第二命令問題是由包圍整個命令行中一組額外的轉義引號的固定:
cmd.exe /c ^""my script.bat" "this&that"^"
外部引號最初被轉義,所以&
被正確引用。然後,當cmd.exe去除外部引號時,您將留下正確的命令字符串。
你會得到什麼錯誤?還有什麼是'D:a.bat'?你不是指'D:\ a.bat'嗎? –
真的不應該有任何需要運行.bat文件作爲cmd.exe的參數。 – Compo