URLhttps://learnscript.net/zh-hant/programming-reference/command-line/escape-special-characters-in-command-line/
    複製連結移至說明  範例

    如何在命令列中跳脫特殊字元

    閱讀 3:00·字數 905·發佈 
    Youtube 頻道
    訂閱 375

    先決條件

    閱讀本節的先決條件是對跳脫概念有所掌握,你可以檢視程式設計教學跳脫,跳脫字元,跳脫序列介紹一節來了解相關資訊。

    在命令提示字元中跳脫特殊字元

    在 Windows 命令提示字元中,你可以使用跳脫字元^來跳脫特殊字元。

    下面,我們使用命令echo,告知使用者檢視環境變數PATH的方法,其中,%需要書寫為^%進行跳脫,如果直接寫為echo %PATH%,將導致輸出環境變數PATH的值。

    echo 請使用 echo ^%PATH^% 檢視環境變數 PATH
    請使用 echo %PATH% 檢視環境變數 PATH

    Windows 命令提示字元不支援在 " 中使用 ^ 進行跳脫

    需要註意的是,你無法在"中使用跳脫字元^進行跳脫,他將顯示其自身。

    再次示範命令echo,並分別使用'"括住一些內容,可以看到輸出結果的不同。

    echo 湯姆說 '使用 echo ^%OS^% 檢視環境變數 OS'
    湯姆說 '使用 echo %OS% 檢視環境變數 OS'
    echo 湯姆說 "使用 echo ^%OS^% 檢視環境變數 OS"
    湯姆說 "使用 echo ^%OS^% 檢視環境變數 OS"

    如何在 Windows 批次檔中跳脫 %?

    bat批次檔中,對%的跳脫比較特別,需要使用%%而不是^%

    在 PowerShell 中跳脫特殊字元

    PowerShell 中,你可以使用跳脫字元`來跳脫特殊字元。

    這裏,使用命令Write-Output來顯示一段資訊,其中`n`t分別被跳脫為換行字元和定位字元。

    Write-Output "人員名單`n`t鹹蛋超人`n`t甜蛋超人"
    人員名單
    鹹蛋超人
    甜蛋超人

    在 UNIX/Linux/macOS 中跳脫特殊字元

    在 UNIX/Linux/macOS 的 Shell 程式中,通常可以使用跳脫字元\跳脫特殊字元。

    下面的將跳脫為空格,Shell 將跳躍至含有空格的資料夾custom lib

    cd custom\ lib

    不支援在單引號字串中進行跳脫

    PowerShell 以及 UNIX/Linux/macOS 中的大部分 Shell 程式,僅支援在雙引號字串,或可隱含轉換為字串的文字中進行跳脫,單引號中的跳脫字元將表示其自身,沒有跳脫效果。

    PowerShell 範例中的兩個"去掉,輸入的文字將隱含的轉換為字串(不能包含空格),其輸出結果和之前一致。

    Write-Output 人員名單`n`t鹹蛋超人`n`t甜蛋超人
    人員名單
    鹹蛋超人
    甜蛋超人

    PowerShell 範例中的"改為',字元`不再具有跳脫的作用。

    Write-Output '人員名單`n`t鹹蛋超人`n`t甜蛋超人'
    人員名單`n`t鹹蛋超人`n`t甜蛋超人