Windows 命令列轉義字符

Windows 命令列轉義字符

長話短說:我們從腳本接收命令並希望使用 Windows shell 執行它。

目前我們使用的方法類似:

echo start & command & echo finish

除非命令本身包含&符號,否則效果很好,例如

echo begin & if exist c:\temp.txt echo 1 & echo end如果檔案不存在,將無法寫入「end」。

這可以透過將命令更改為 來解決echo begin & (if exist c:\temp.txt echo 1) & echo end,但是隨後我們會遇到包含括號符號的命令的問題,例如

echo begin & (echo %PATH%) & echo end印出“\Hewlett-Packard\HP 此時出乎意料。”因為我的路徑中有 Program Files (x86)。

有什麼方法可以從指令結果轉義特殊字元嗎?

先致謝

答案1

問題是 PATH 中的空格,因此請使用引號。

  echo begin & (echo "%PATH%") & echo end

相關內容