як запустити виконуваний файл без розширення EXE за допомогою сценарію CMD?


19

Ситуація полягає в тому, що у мене є портативний додаток, який повинен мати встановлену змінну середовища. Інший спосіб намагається встановити свої параметри в реєстрі даних користувачів програми.

Щоб уникнути запуску виконуваного файлу в не портативному режимі (щоб уникнути його запуску без будь-яких параметрів), я стерв розширення ".exe" файлу, але потім не можу запустити його не тільки мишею (чого я хочу), але і за допомогою startкоманди .

Чи є спосіб запустити такий виконуваний файл, який не має розширення exe?


Ваше питання не зовсім зрозуміло. Якщо ви випадково видалили розширення .EXE, чому ви не можете його додати назад? Що вам заважає це робити?
Каран

Я видалив його навмисно, щоб випадково не потрапив, щоб програма працювала без будь-яких параметрів. Я хочу бути безпечним лише запускати програму з параметрами на старті.
rsk82

Відповіді:


14

Так, звичайно працює просто ім'я повного імені програми. ( .exeВимога існує лише в оболонці GUI.)

(Це може бути , що файл потребує в продовженні, хоча - так що якщо ви не можете отримати , MyProgramщоб запустити, перейменувати його MyProgram.notexeабо MyProgram.lolі спробуйте ще раз.)


1
Це мене здивувало одного разу, коли я перейменував Zip-файл , що самовипаковується, .exeдо .zip, спробував відкрити його через cmd.exe, і він все ще запустив саморозпаковувач замість відкриття WinZip.
користувач1686

Я не знав хитрості із зміною розширення, що програмі може знадобитися якась фіктивна, не така інтуїтивна. Але в будь-якому випадку я зіткнувся з іншим обломком - саме додаток потребує головного виконуваного файлу, щоб мати сувору назву.
rsk82

1
Все, що починається з, MZбуде виконано cmd, перевірте нижче
Петър Петров

17

Будь-який файл із будь-яким розширенням та першими двома байтами MZбуде розглядатися як EXE.

Спробуйте наступне:

  1. Створіть новий a.txtфайл,
  2. Введіть його MZ, збережіть.
  3. Відкрити cmd, перейти до його папки,
  4. Введіть a.txtі подивіться повідомлення про помилку.

Замінити MZз MSі спробуйте ще раз - на цей раз блокнот буде працювати з файлом відкритий.


1
Не працює в Windows 10. Це завжди показує '' is not recognized as an internal or external command, operable program or batch file.помилку
phuclv

Я щойно намагався вдома в Windows 10 Pro, і він дійсно показує помилку, 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.раніше я використовував Windows 10 LTSB на роботі, і це не спрацювало
phuclv

Він все ще працює на моєму Windows 10 X64, такий же приклад, як і вище.
Петър Петров

Якщо ви спробуєте виконати файл без будь-якого розширення, це призведе до 'file' is not recognizedпомилки.
Stevoisiak

2

Я спробував запустити процес з файлу без розширення .exe. Коли я не зміг цього зробити з cmd.exe, я спробую кілька команд powerhell. Ось один:

Старт-процес

Документація говорить про синтаксис за замовчуванням та UseShellExecute. Просто:

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

команда використовує синтаксис UseShellExecute і повертає помилку щодо неприєднаного додатка до цього типу файлу. Щоб змусити синтаксис за замовчуванням, я додав параметр, якого у UseShellExecute немає:

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

Моя програма була запущена і записала вихід на консоль. Цього мені було достатньо, тому що мені це потрібно було лише для тестових цілей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.