%20%E3%81%8C%E3%80%8Ccd%5C%E3%80%8D%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AA%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A8%E3%81%97%E3%81%A6%E8%A7%A3%E9%87%88%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
標準の Windows コマンド ライン (cmd.exe) から、コマンド cd\ を使用して現在のドライブのルートにジャンプできます (cd の後にスペースを入れずにバックスラッシュを入力します)。
PowerShell では、コマンドレットの文字列エイリアスを定義できますが、コマンド cd\ は標準の cmd.exe から正常に機能するため、PowerShell エイリアスではありません。
これは、ターゲット ディレクトリをコマンド自体のパラメーターとして指定する (予想どおり、コマンドとパラメーターの間にスペースを入れます)、cd コマンドのより標準的な使用法への組み込みショートカットにすぎませんか?
答え1
PowerShell では、コマンドレットの文字列エイリアスを定義できますが、コマンド cd\ は標準の cmd.exe から正常に機能するため、PowerShell エイリアスではありません。
CMD の標準形式だからといって、PS のエイリアスではないというわけではありません。実際、PS でも機能する CMD の「標準コマンド」のほとんどすべてがエイリアスです。CD は のエイリアスですset-location
。
コマンドを使用して、get-alias cd
これや他の驚くべきトリックを学習してください。
なぜ CD\
有効なコマンドかどうかは、スーパーユーザーが答えられる質問ではありません。
アップデート
CMD は何かを行うために PS をロードする必要はありません。
あなたのコメントを読んで、まず認識する必要があるのは、PS が登場するずっと前から CD\ が CMD でこのように動作していたということなので、PS は忘れてください。これに PS を混同すると混乱を招きます。もう PS を忘れてしまったのですか? (ここでの正解は「はい」です)良い。
Lưu Vĩnh Phúc がコメントで述べているように、コマンド文字列はさまざまな方法とさまざまな理由でエスケープできます。なぜこれを実行するかどうかは、個々のコマンド パーサー、ホスト システム、特定のコマンド、これらすべてを開発した人、チーム、組織、および場合によってはその他の理由によって異なります。