為什麼 Windows 命令列 (cmd.exe) 將“cd\”解釋為有效命令?

為什麼 Windows 命令列 (cmd.exe) 將“cd\”解釋為有效命令?

在標準 Windows 命令列 (cmd.exe) 中,可以使用指令 cd\ 跳到目前磁碟機的根目錄(cd 後面接著一個反斜杠,中間沒有空格)。

使用 PowerShell,我們能夠為 cmdlet 定義字串別名,但命令 cd\ 在標準 cmd.exe 中運作得很好,因此不是 PowerShell 別名。

這是否只是更標準使用 cd 命令的內建快捷方式,您將目標目錄指定為命令本身的參數(按預期在命令和參數之間有一個空格)?

答案1

使用 PowerShell,我們能夠為 cmdlet 定義字串別名,但命令 cd\ 在標準 cmd.exe 中運作得很好,因此不是 PowerShell 別名。

僅僅因為它是 CMD 中的標準形式並不意味著它不是 PS 中的別名。事實上,CMD 中幾乎所有在 PS 中也適用的「標準指令」都是別名。 CD 是 的別名set-location

使用命令get-alias cd來學習這個和其他令人驚奇的技巧!

為什麼 CD\是否是有效命令不是超級用戶可以回答的問題。

更新

CMD 不需要載入 PS 來執行任何操作。

閱讀您的評論,我發現您需要認識的第一件事是,早在 PS 出現之前,CD\ 在 CMD 中就以這種方式運行,所以忘記 PS 吧。將 PS 混入其中會帶來混亂。你忘記PS了嗎? (這裡的正確答案是「是」)好的。

正如 Lưu Vĩnh Phúc 在他的評論中提到的,可以出於各種原因使用各種方法對命令字串進行轉義。為什麼他們這樣做取決於單一命令解析器、主機系統、特定命令、開發所有這些的人員或團隊或組織,以及可能的其他原因。

相關內容