内部コマンドと同じ名前のコマンドを実行すると、パスを検索する代わりに、WindowsはCMD.EXEにあるものを使用します。
たとえば、MKDIRはに組み込まれた内部コマンドCMD.EXE
です。Unixバージョンと同じオプション(-p
およびなど--help
)はサポートしていません。これらのオプションを使用すると、パスのディレクトリにGNUバージョンのmkdirがインストールされている場合でも、Windowsは単に-pまたは--helpという名前のファイルを作成します。
これは、ターミナルからmkdirを使用する特定のプログラムを操作するときに問題になります。たとえば、散文用のgulpfileには、作業ディレクトリにmkdir -p
フォルダー-p
を作成してエラーをスローする3つのコマンドが含まれています。インストールされたmkdir.exeを使用するようにgulpfileを手動で編集する必要があるため、フォークのクロスプラットフォームを共有することが難しくなります。
Windowsシェルにmkdir.exe
CMD.EXEではなくPATHで見つかったものを使用させるにはどうすればよいですか?