Ситуация такова, что у меня есть переносимое приложение, которое должно иметь переменную среды. Другой способ - попытаться установить свои настройки в каталоге данных пользовательской программы.
Чтобы избежать запуска исполняемого файла в непереносимом режиме (чтобы не допустить его запуска без каких-либо параметров), я стер файл с расширением «.exe», но затем я не могу запустить его не только мышью (что я хочу), но и start
командой ,
Есть ли способ запустить такой исполняемый файл, который не имеет расширения exe?
windows
command-line
rsk82
источник
источник
Ответы:
Да - просто ввод полного имени программы обычно работает. (
.exe
Требование существует только в оболочке GUI.)(Однако, возможно , файл нуждается в расширении - поэтому, если вы не можете
MyProgram
запустить, переименуйте его вMyProgram.notexe
илиMyProgram.lol
и попробуйте снова.)источник
.exe
to в.zip
, попытался открыть его через cmd.exe, и он все равно запустил самораспаковывающийся файл вместо открытия WinZip.MZ
будет выполнено cmd, проверьте нижеЛюбой файл с любым расширением и первыми двумя байтами
MZ
будет обрабатываться как EXE.Попробуйте следующее:
a.txt
файл,MZ
, сохраните.cmd
, перейдите в его папку,a.txt
и увидите сообщение об ошибке.Замените
MZ
наMS
и попробуйте снова - на этот раз блокнот будет работать с открытым файлом.источник
'' is not recognized as an internal or external command, operable program or batch file.
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 на работе, и это не сработало'file' is not recognized
ошибку.Я пытался запустить процесс из файла без расширения .exe. Когда мне не удалось сделать это из cmd.exe, я попробовал некоторые команды powershell. Вот один из них:
Запуск процесса
В документации говорится о синтаксисе по умолчанию и UseShellExecute. С просто:
команда использует синтаксис UseShellExecute и возвращает ошибку о несвязанном приложении с этим типом файла. Чтобы принудительно использовать синтаксис по умолчанию, я добавил параметр, которого нет в UseShellExecute:
Моя программа была запущена и записала вывод в консоль. Этого было достаточно для меня, потому что я нуждался в этом только для целей тестирования.
источник