cara menjalankan file yang dapat dieksekusi tanpa ekstensi EXE menggunakan skrip CMD?

19

Situasinya adalah bahwa saya memiliki aplikasi portabel yang perlu mengatur variabel lingkungan. Cara lain ia mencoba untuk mengatur pengaturannya di dir data program pengguna.

Untuk menghindari menjalankan executable dalam mode non-portable (untuk menghindari membiarkannya berjalan tanpa parameter) Saya menghapus ekstensi file ".exe", tetapi kemudian saya tidak dapat menjalankannya tidak hanya dengan mouse (yang saya inginkan) tetapi juga melalui startperintah .

Apakah ada cara untuk menjalankan file yang dapat dieksekusi tersebut yang tidak memiliki ekstensi exe?

rsk82
sumber
Pertanyaan Anda tidak terlalu jelas. Jika Anda secara tidak sengaja menghapus ekstensi .EXE, mengapa Anda tidak dapat menambahkannya kembali? Apa yang mencegah Anda melakukannya?
Karan
Saya telah menghapusnya dengan sengaja agar tidak sengaja menabraknya sehingga program akan berjalan tanpa parameter apa pun. Saya ingin aman hanya menjalankan program dengan opsi di awal.
rsk82

Jawaban:

14

Ya - cukup memasukkan nama file lengkap program biasanya berhasil. ( .exePersyaratan hanya ada di shell GUI.)

(Ini mungkin bahwa file tersebut perlu sebuah ekstensi, meskipun - jadi jika Anda tidak bisa mendapatkan MyProgramuntuk menjalankan, mengganti nama ke MyProgram.notexeatau MyProgram.loldan coba lagi.)

grawity
sumber
1
Ini mengejutkan saya sekali, ketika saya berganti nama file Zip self-extracting dari .exeke .zip, mencoba membukanya melalui cmd.exe, dan masih berlari diri extractor bukan membuka WinZip.
grawity
Saya tidak tahu trik dengan mengubah ekstensi, program itu mungkin memerlukan beberapa dummy, itu tidak begitu intuitif. Tapi bagaimanapun saya menemukan gelandangan lain yaitu aplikasi itu sendiri perlu dieksekusi utama untuk memiliki nama yang ketat.
rsk82
1
Apa pun yang dimulai dengan MZakan dieksekusi oleh cmd, periksa di bawah ini
Петър Петров
17

File apa pun dengan ekstensi apa pun dan dua byte pertama MZakan diperlakukan seperti EXE.

Coba ikuti:

  1. Buat a.txtfile baru ,
  2. Ketik di dalamnya MZ, simpan.
  3. Buka cmd, buka foldernya,
  4. Ketik a.txtdan lihat pesan kesalahan.

Ganti MZdengan MSdan coba lagi - notepad kali ini akan berjalan dengan file dibuka.

Петър Петров
sumber
1
Tidak bekerja di Windows 10. Itu selalu menunjukkan '' is not recognized as an internal or external command, operable program or batch file.kesalahan
phuclv
Saya baru saja mencoba di rumah dengan di Windows 10 Pro dan itu memang menunjukkan kesalahan This version of D:\test.txt is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.sebelumnya saya menggunakan Windows 10 LTSB di tempat kerja dan itu tidak berhasil
phuclv
Ini masih berfungsi pada Windows 10 X64 saya, contoh yang sama seperti di atas.
Петър Петров
Jika Anda mencoba menjalankan file tanpa ekstensi apa pun, itu akan menimbulkan 'file' is not recognizedkesalahan.
Stevoisiak
2

Saya mencoba menjalankan proses dari file tanpa ekstensi .exe. Ketika saya gagal melakukannya dari cmd.exe saya coba beberapa perintah PowerShell. Ini satu:

Mulai-Proses

Dokumentasi mengatakan tentang sintaks Default dan UseShellExecute. Hanya dengan:

Start-Process -FilePath .\my-program -Wait -NoNewWindow

perintah menggunakan sintaks UseShellExecute dan mengembalikan kesalahan tentang aplikasi yang tidak terkait dengan tipe file itu. Untuk memaksa sintaks Default, saya menambahkan parameter yang tidak dimiliki UseShellExecute:

Start-Process -FilePath .\my-program -Wait -RedirectStandardError ./error.txt -NoNewWindow

Program saya dimulai dan menulis keluaran ke konsol. Ini cukup bagi saya, karena saya hanya membutuhkannya untuk tujuan pengujian.

Sarrus
sumber