Listing 1: Patch-Management Script @echo off START CALLOUT A set SVR=mysqlsvr set DB=NetworkData set USER=networkdata_user set PW=password set OPTS=--skip-column-names -B -h %SVR% -u %USER% -p%PW% set PATCH_UNC=\\fileserver\patches END CALLOUT A START CALLOUT B set SQL=SELECT App FROM ComputerApps WHERE Computer = '%COMPUTERNAME%' END CALLOUT B net use /d /y P: 2> NUL net use P: %PATCH_UNC% 2> NUL if errorlevel 1 ( echo Could not map to patch file server, exiting.. goto :EOF ) BEGIN COMMENT LINE rem Notice the use of backticks. END COMMENT LINE START CALLOUT C for /F usebackq %%x in (`mysql %OPTS% -e "%SQL%" %DB%`) do ( if "%%x" == "Win2k" call :Win2k if "%%x" == "IIS" call :IIS ) echo Running qchain.. p:\qchain.exe echo Patches applied. The server must now be rebooted. goto :EOF END CALLOUT C :Win2k echo Patching Win2k echo ------------------ p:\Q123456_w2k_sp2_x86.exe -z -m goto :EOF :IIS echo Patching IIS.. echo ------------------ goto :EOF