@Echo Off
Setlocal EnableDelayedExpansion
rem Число символов в прогрессбаре
Set N_Col=79
rem Число иттераций (запускаемых файлов 1...4) на 100%
Set cntA=4
Set cnt=0
Echo Обработка запущена
rem Здесь прописывается список запускаемых файлов с ключами в кавычках
For %%I In (
"Setup1.exe /Q"
"Setup2.exe /Q"
"Setup3.exe /Q"
"Setup4.exe /Q"
) Do (
%%~I
Call :Bar Обработано
)
Echo.
Echo Обработка завершена
Pause>nul
Exit
:Bar
If %cnt%==0 (
Set Line0=
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!░
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!
<Nul Set /p X=!Line0!
)
Set /a Inc=((cnt+1)*N_Col)/cntA-(cnt*N_Col)/cntA
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do Set /p X=█<Nul
Set /a cnt+=1
Set /a prsnt=cnt*100/cntA
Title %1 %prsnt%%% файлов: %cnt% из %cntA%
GoTo :EOF
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
И более усовершенствованный код батника. Надеюсь по скрипту всё понятно, куда и что вписывать надо:
При обнаружении искомого хекс-значения, консоль вам это покажет и встанет на паузу. Затем нажимаете Enter и поиск продолжается.
@echo off
setlocal EnableDelayedExpansion
:: Вставьте ниже, после равенства, директорию с файлами и искомое хекс-значение
set dir=123
set hex=494255544500424F4F5441424C450043
:: Ниже код не трогаем, кроме пути к утилите sfk (Swiss File Knife)
if exist "!dir!" (
for /f %%A in ('dir /b /s /a:-d "!dir!"') do (
set /a num+=1
set file=%%A
set fldr=!file:\%%~nxA=!
echo Parsing file !num!: %%~nxA
sfk hexfind -binary /!hex!/ -dir "!fldr!" -file "%%~nxA" ||echo.&&echo Found value "!hex!" in file "%%~A"&&echo.&&pause
echo.
)
) else (
echo. && echo Not found directory "!dir!"|!col! 0C && echo.
)
pause
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 05.04.2020 в 03:58.