Wenn ich einen Befehl mit demselben Namen wie einen internen Befehl ausführe, verwendet Windows anstelle der Suche im Pfad einfach den in CMD.EXE gefundenen.
Zum Beispiel MKDIR ist ein interner Befehl eingebaut in CMD.EXE
. Es werden nicht dieselben Optionen wie in der Unix-Version (z . B. -p
und --help
) unterstützt. Wenn ich diese Optionen verwende, erstellt Windows einfach Dateien mit dem Namen -p oder --help , obwohl ich die GNU-Version von mkdir in einem Verzeichnis in meinem Pfad installiert habe.
Dies wird zu einem Problem, wenn Sie mit bestimmten Programmen arbeiten, die mkdir über das Terminal verwenden. Zum Beispiel enthält die Gulpfile für Prosa drei mkdir -p
Befehle, die einen Ordner -p
im Arbeitsverzeichnis erstellen und dann Fehler auslösen . Ich muss die gulpfile manuell so bearbeiten, dass sie die installierte Datei mkdir.exe verwendet , was es für mich schwieriger macht, meine Gabel plattformübergreifend freizugeben .
Wie kann ich die Windows-Shell zwingen, die mkdir.exe
in PATH gefundene anstelle von CMD.EXE zu verwenden?
quelle
C:\Program Files (x86)\Git\bin\mkdir.exe
!"mkdir"
. Vielen Dank!