Показать полную графическую версию : [решено] Запуск .exe файла без учета имени
alexfeel30
15-12-2016, 16:04
Доброго времени суток! Как сделать батник чтобы запускался exe файл, без учета имени exe файла, оно меняется, bat и exe находятся в одной папке.
Заранее всем откликнувшимся спасибо.
@echo off
for /f "usebackq delims=" %%i in (
`2^>nul dir /b /a:-d "%~dp0*.exe"`
) do "%~dp0%%i"
— запустит все исполняемые exe-файлы, которые найдёт рядом с пакетным файлом.
alexfeel30
15-12-2016, 16:47
Огромное спасибо, работает.
еще можно так:
@echo off
dir/a-d/b "*.exe"|set/p f=^& cmd/v/c !f!
exit
запустит первый найденный
alpap, только это не «bat и exe находятся в одной папке», а в текущем каталоге. И кавычки же на случай пробельных символов в имени файла.
Iska,
кавычки надо, пропустил, а не «bat и exe находятся в одной папке», а в текущем каталоге »
не понял. Во-первых по ТЗ именно - в одной папке, а во-вторых, если bat и exe находятся в одной папке, есть разница текущий он или нет, по-моему будет иметь смысл только вариант запуска bat, с добавлением строки перехода в каталог. если запуск не непосредственный.
И кавычки же на случай пробельных символов в имени файла. »
Одна пара кавычек не поможет:(, нужны две пары или хотя бы полторы:): dir/a-d/b "*.exe"| set/p f=^& cmd/v/c ""!f!""; dir/a-d/b "*.exe"| set/p f=^& cmd/v/c ""!f!".
Чтобы пользоваться одной парой кавычек, надо писать так: dir/a-d/b "*.exe"| cmd/v/c set/p f=^& "!f!".
Одна пара кавычек не поможет »
почему?
142150
если убрать экран, видно что кавычки добавляются как положено:
142151
а при такой команде:
dir/a-d/b "*.exe"| set/p f=& cmd/v/c "!f!"
отработает и без экрана
alpap, у Вас запускается не «calc calc.exe», а «C:\Windows\System32\calc.exe»:(:).
Переименуйте EXE-файл в «My Program.exe», и всё увидите сами.
Одна пара кавычек не поможет, нужны две пары или хотя бы полторы: »
Логика там вообще замечательная. Уж сколько в своё время крови попортила.
alpap, у Вас запускается не «calc calc.exe», а «C:\Windows\System32\calc.exe». »
Если бы вместо Калькулятора использовался Блокнот, то даже при таком: «notepad notepad.exe» переименовании сразу бы было видно, что что-то пошло не так :).
а
не «bat и exe находятся в одной папке», а в текущем каталоге »
не понял. »
В общем случае текущий каталог текущего диска не равнозначен каталогу, в котором содержится пакетный файл.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.