
Windows のコマンド ライン エイリアスに関する投稿をいくつか見つけましたが、そのほとんどはcd
頻繁に使用される長いコマンド/パスのエイリアスに関するものであり、自分のニーズに合わせて機能させることができません。
私の場合、コマンド プロンプトを使用するときに、Windows と MacOS を頻繁に切り替えています。この 2 つを切り替えていると、習慣的にどちらかに またはls
と入力して、明らかなエラーが発生します。dir
この質問に特化して言うと、私がやりたいのは、"ls" の何らかのエイリアスを "dir" にマップすることです。こうすることで、誤って "ls" を入力した場合でも、"dir" コマンドと同じ機能が得られます。複雑なパラメータ マッピングは必要ありません。ls
toの単純なエイリアスだけで十分ですdir
。
cmd に有効な解決策があれば、ご指導いただければ幸いです。
答え1
PowerShell では、 と はどちらもdir
同じls
効果があり、一方が他方のエイリアスです。
答え2
PowerShellでは、このようなエイリアスはデフォルトですでに存在します。(正確には、ls
そして dir
はコマンドレットのエイリアスです。 、などGet-ChildItem
のデフォルトのエイリアスもあります。したがって、Cmd のみに DOSKEY を使用します。cat
rm
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」があります)。