Главная рутина
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\t w o"
PUSHD "%sourcedir%"
CALL c:\106x\q27293854a.bat 1234563
popd
ECHO %ERRORLEVEL% filefound=%filefound%
GOTO :EOF
Где 1234563
ваша цель имя
Примечание: вам необходимо изменить настройку sourcedir
в соответствии с вашими обстоятельствами. Этот конкретный параметр подходит для моей системы.
c:\106x\q27293854a.bat
- это имя batchname - имя не имеет значения (подходит для моей системы), но может быть просто q27293854a
, если файл установлен в каталоге в path
.
Вызывается партия c:\106x\q27293854a.bat
@ECHO OFF
SET "filefound="
FOR %%a IN (*_%1.*) DO IF DEFINED filefound (SET "filefound=Error - multiple files found"&EXIT /b 8) else (set "filefound=%%~fa")
IF NOT DEFINED filefound EXIT /b 4
EXIT /b 0
Эта процедура установит filefound
либо полное имя файла, найденного или ничего, если он не найден или строку ошибки, если более чем один матч найден.
ERRORLEVEL
также установлен в 0 для штрафа - найдено 1, 4 для missing
и 8 для multiple match found
.
Как я могу поместить результат в переменную, так что я могу использовать его в дальнейшем в пакетный файл программы –
'реж/б * _% 1.txt> tmp1' – i486
' установить/р MyVar =
i486