Батник для поиска 16-ричных значений в папке с подпапками: требуется утилита
SFK (
Swiss File Knife)
@echo off
for /f %%A in (Samples.txt) do sfk hexfind -binary /%%A/ -dir POP6_RS\sound -file .sb5
pause
В скрипте указываем директорию сканирования и расширение сканируемых файлов.
Пример содержимого
Samples.txt:
84ED000048220000
0E150100C0270000
B0F2000060230000
6C7B0100F8350000
181E0100D8280000
Либо подставляем один набор искомых байтов, к примру, ищем в файлах звуки WAVE/AT3 - 52494646 (RIFF).
Стырено отсюда:
https://www.pspx.ru/forum/showpost.php?p=1120839 (чтобы в следующий раз не вспоминать)))
И более усовершенствованный код батника. Надеюсь по скрипту всё понятно, куда и что вписывать надо:
При обнаружении искомого хекс-значения, консоль вам это покажет и встанет на паузу. Затем нажимаете 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