在 Windows 命令提示字元中,處理引號轉義比較特殊。cmd 預設沒有像 Linux 那樣簡單的轉義字元。
使用取代功能
你可以利用 cmd 內建的字串取代語法。這是在變數顯示時,將雙引號直接替換成斜線加雙引號。
set var1=hello "World"
echo %var1:"=\"%
這行指令的意思是把 var1 裡面所有的 ” 都換成 “。這是最快速且不需要改動原始變數內容的方法。
重新設定變數
如果你希望變數存儲時就帶有斜線,可以在設定時手動加上去。但要注意 cmd 在處理 set 指令時,引號的位置會影響變數的讀取。
set var1=hello \"World\"
echo %var1%
這樣直接輸出就會得到你要的結果。
關於轉義符號的誤區
在 cmd 中,^ 是常用的轉義符號。但它通常用來處理像 &、|、<、> 這種特殊字元。對於雙引號,^ 往往不起作用。因為雙引號在 cmd 邏輯中是用來界定字串範圍的,它成對出現。所以透過字串取代語法來補上斜線,是目前最可靠的做法。