Из
темы 4той европпы с 70 dlc где это действительно актуально
Скрипты выше что cmd что мой PowerShell запускают все установщики одновременно что каким то образом обрабатывается инсталлерами гог(часть установщиков ждёт пока другие не отработают) но не есть хорошо и потенциально может вызвать проблемы
Добавлю переработанные версии
1) Переработанная версия топикстартера с ожиданием завершения установки каждого exe
Код:
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
2) Она же с добавлением запроса прав администратора через powershell(чтобы не подтверждать для каждого exe)
Код:
if not "%1"=="am_admin" (
powershell -Command "Start-Process -Verb RunAs -FilePath '%0' -ArgumentList 'am_admin'"
exit /b
)
cd /D %~dp0
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
3) Мой код PowerShell с добавлением ожидания завершения exe
Код:
Get-ChildItem -filter *.exe | ForEach-Object { Start-Process -FilePath $_.FullName -ArgumentList "/sp- /verysilent /suppressmsgboxes" -Wait }
4) Код PowerShell
alexium8 с отображением прогресса установки
Код:
$exeFiles = Get-ChildItem -Filter *.exe; $totalFiles = $exeFiles.Count; $currentFile = 0; foreach ($exeFile in $exeFiles) { $currentFile++; Write-Host "Installing $currentFile/$totalFiles $($exeFile.Name)"; Start-Process -FilePath $exeFile.FullName -ArgumentList "/sp-", "/verysilent", "/suppressmsgbox" -Wait }