Я занимаюсь разработкой командного файла для сбора информации о продуктах Websphere. Кажется, он работает нормально, за исключением некоторых случаев.
По некоторым причинам при некоторых обстоятельствах вызывается versionInfo.bat -maintenancePackages, но следующий код (проверьтедля manageprofiles.bat) похоже, что он возвращается из раздела: check после вызова versionInfo.
Мои навыки пакетной записи Windows очень устарели, другие улучшения приветствуются.
@echo off
SetLocal EnableDelayedExpansion
set tmpfile=%TEMP%\tmpdone.txt
echo. > %tmpfile%
For /F "eol= delims=| tokens=13" %%a in (%windir%\vpd.properties) Do (
set check=%%a
call :check
)
goto eof
:check
Set skip=No
For /F "eol= delims=|" %%a in (%tmpfile%) Do (
if "%%a" == "%check%" set skip=YES
)
if %skip% == YES goto eof
echo %check%>>%tmpfile%
if exist "%check%\bin\versionInfo.bat" "%check%\bin\versionInfo.bat" -maintenancePackages
echo %check%\bin\manageprofiles.bat
if exist "%check%\bin\manageprofiles.bat" "%check%\bin\manageprofiles.bat" -listProfiles
goto eof
:del
echo Done
del %tmpfile%
:eof