Windows で「ls」を「dir」コマンドにマッピングする最も簡単な方法は何ですか?

Windows で「ls」を「dir」コマンドにマッピングする最も簡単な方法は何ですか?

Windows のコマンド ライン エイリアスに関する投稿をいくつか見つけましたが、そのほとんどはcd頻繁に使用される長いコマンド/パスのエイリアスに関するものであり、自分のニーズに合わせて機能させることができません。

私の場合、コマンド プロンプトを使用するときに、Windows と MacOS を頻繁に切り替えています。この 2 つを切り替えていると、習慣的にどちらかに またはlsと入力して、明らかなエラーが発生します。dir

この質問に特化して言うと、私がやりたいのは、"ls" の何らかのエイリアスを "dir" にマップすることです。こうすることで、誤って "ls" を入力した場合でも、"dir" コマンドと同じ機能が得られます。複雑なパラメータ マッピングは必要ありません。lstoの単純なエイリアスだけで十分ですdir

cmd に有効な解決策があれば、ご指導いただければ幸いです。

答え1

PowerShell では、 と はどちらもdir同じls効果があり、一方が他方のエイリアスです。

答え2

PowerShellでは、このようなエイリアスはデフォルトですでに存在します。(正確には、ls そして dirはコマンドレットのエイリアスです。 、などGet-ChildItemのデフォルトのエイリアスもあります。したがって、Cmd のみに DOSKEY を使用します。catrm

Bash と同様に、PowerShell にはエイリアスとシェル関数があります。

Set-Alias -Name ls -Value Get-ChildItem
Set-Alias -Name vim -Value notepad.exe
Remove-Item -Path Alias:curl -ErrorAction Ignore
Function kssh {ssh -o PreferredAuthentications=gssapi-with-mic $args}

DOSKEY は、コンソール ウィンドウ レベルでエイリアスを定義します。Cmd では、一度に 1 行全体を読み取り、コンソールで実際の入力を処理できるため、エイリアスは機能します (ファイルのタブ補完もコンソールによって提供されます)。ただし、PowerShell では、一度に 1 つのキーを「raw」モードで読み取るため、機能しません (Bash の readline と同様に、独自の「PSReadline」があります)。

関連情報