Memaksa Windows menggunakan .EXE pada PATH daripada perintah internal CMD.EXE


9

Ketika saya menjalankan perintah dengan nama yang sama dengan perintah internal, alih-alih mencari di jalur Windows hanya menggunakan yang ditemukan di CMD.EXE.

Sebagai contoh, MKDIR adalah perintah internal yang dibangun CMD.EXE. Itu tidak mendukung opsi yang sama dengan versi Unix (misalnya -pdan --help). Jika saya menggunakan opsi ini, Windows hanya akan membuat file bernama -p atau --help walaupun saya sudah menginstal GNU versi mkdir di direktori di jalur saya.

Ini menjadi masalah ketika bekerja dengan program-program tertentu yang menggunakan mkdir melalui terminal. Sebagai contoh, gulpfile untuk prosa berisi tiga mkdir -pperintah itu, buat folder -pdi direktori kerja dan kemudian buang kesalahan. Saya harus mengedit gulpfile secara manual sehingga menggunakan mkdir.exe yang terinstal , yang membuatnya lebih sulit bagi saya untuk berbagi lintas-platform garpu.

Bagaimana saya bisa memaksa shell Windows untuk menggunakan yang mkdir.exeditemukan di PATH daripada CMD.EXE?

Jawaban:


14

Bagaimana saya bisa memaksa shell Windows untuk menggunakan mkdir.exe yang ditemukan di PATH daripada CMD.EXE?

Kelilingi nama yang dapat dieksekusi dalam tanda kutip ganda. Sebagai contoh:

"MKDIR"

Ini memaksa Windows untuk mencari yang bisa dieksekusi daripada menjalankan perintah internal. Jika Anda memiliki parameter yang juga memerlukan tanda kutip ganda, gunakan sintaks ini:

"MKDIR" -firstParam "C:\foobar\long file name.ext"

1
Atau Anda harus dapat menentukan path lengkap ke program mkdir yang ingin Anda panggil.
— davidgo

Sayangnya ini tidak berhasil. Apa yang dilakukannya adalah membuat file baru bernama ".exe" di direktori saat ini. @davidgo Saya dapat menentukan seluruh jalur, tetapi itu menjadi masalah dengan berbagi kode saya dengan yang lain: tidak semua orang memiliki mkdir di dalamnya C:\Program Files (x86)\Git\bin\mkdir.exe!
— umop aplsdn

2
Dikelilingi dalam tanda kutip ganda berfungsi! Anda bahkan tidak perlu menentukan ekstensi - cukup "mkdir". Terima kasih!
— umop aplsdn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.