2015-07-25 2 views
0

Я пытаюсь разработать следующий алгоритм:Как установить все .exe в папку с помощью пакетного файла?

Для всех файлов в текущей папке (папка, содержащая сценарий) делать: установить файлы один за другим

cls 
setlocal disableDelayedExpansion 

if %PROCESSOR_ARCHITECTURE%==x86 set arch=x86 
if %PROCESSOR_ARCHITECTURE%==AMD64 set arch=x64 

for /r "%~dp0" %%m in ("*.exe") do (
    set expath=%%m 
    set exfile=%%~nm 

    expath :: execute the .exe files 
) 
echo. 
echo Done! 
echo. 
pause 
goto :eof 

echo %exfile% 
+2

вы не хотите запускать 'expath', но'% expath% '. – Stephan

+0

@Stephan, вы правы. И '::' не является индикатором комментария –

+0

Это своего рода. Это технически ярлык, но он действует как комментарий из-за того, как пакет обрабатывает метки. Стоит отметить, что если вам нужны встроенные комментарии в пакетном режиме, вам понадобится '& REM'. – SomethingDark

ответ

1

Этот маленький пакетный файл запускается каждый .exe в каталоге пакетного файла как отдельный процесс. Пакетная обработка останавливается после запуска исполняемого файла до тех пор, пока запущенное приложение не завершится.

@echo off 
setlocal DisableDelayedExpansion 
for %%I in ("%~dp0*.exe") do (
    start "Running %%~nI" /wait "%%I" 
) 
endlocal 

Для получения подробной информации об используемых командах, откройте окно командной строки и запустить там следующие командные строки, чтобы отображаться помощью для каждой команды:

  • for /?
  • start /?
Смежные вопросы