@echo off setlocal EnableDelayedExpansion title Install all tools (current user) rem Runs every ??-Install-*.bat next to this file that does not need administrator rem rights (the ones not named *-Admin.bat), in numeric order. rem Run this as the user who will use the tools, not as administrator. rem The child scripts skip their final pause when this is set. set "INSTALL_ALL=1" set "FAILED=" for %%F in ("%~dp0??-Install-*.bat") do ( set "NAME=%%~nF" if /i not "%%~nxF"=="%~nx0" if /i not "!NAME:~-6!"=="-Admin" ( echo. echo ===== %%~nxF ===== call "%%F" if errorlevel 1 set "FAILED=!FAILED! %%~nxF" ) ) echo. if defined FAILED ( echo Failed:%FAILED% ) else ( echo All user installers finished. ) pause if defined FAILED exit /b 1 exit /b 0