Можно ли сделать чтобы последним пунктом, после поиска всегда был пункт выхода из скрипта?
- Вложения
Код: Выделить всё
@Echo Off
Cls
Set "BootFile=%SYSTEMDRIVE%\Work\Image\sources"
Set "Mask=Boot*.wim"
Call :FileName "%BootFile%\%Mask%" 20 "FName" ||Exit /B 1
Echo %FName%
pause
GoTo :Eof
:FileName
SetLocal
Set /A N=0
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /b /a:-D "%~1"`) DO Set /A N+=1 &Call Set "@%%N%%=%%f"
If %N%==0 (Echo !!! Files not found "%~1" &Pause &EndLocal &Exit /B 2)
Set /A Iter=(%N%+%~2-1)/%~2
Set /A j=0
:Begin
Set /A j+=1
Set /A N1=(%j%-1)*%~2+1
Set /A N2=%j%*%~2
If %N2% GTR %N% Set /A N2=%N%
:Begin2
Cls
Echo == Из %N% файлов показаны с %N1% по %N2% =====&Echo.
FOR /L %%i IN (%N1%,1,%N2%) DO Call Echo %%i=%%@%%i%%
Echo.
Echo == Введите номер файла, Q-Завершить работу, Enter-продолжить просмотр
Set "In=QQ"
Set /P In=
If /I "%In%"=="Q" EndLocal& Exit /B 1
If Not %j%==%Iter% If /I "%In%"=="QQ" GoTo :Begin
If %j%==%Iter% If /I "%In%"=="QQ" Set /A j=0 &GoTo :Begin
2>nul Set /A i=%In%
Set "@FName="
If "%In%"=="%i%" If %i% LEQ %N% Call Set "@FName=%%@%i%%%"
If "%@FName%"=="" (Echo. &Echo !!! Номер файла "%In%" указан неверно &Pause &GoTo :Begin2)
EndLocal& Set "%~3=%@FName%" &Exit /B 0
Exit /B 1
:
:
".