PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для ПК (https://www.pspx.ru/forum/forumdisplay.php?f=474)
-   -   BAT - работа с BAT-файлами (https://www.pspx.ru/forum/showthread.php?t=108087)

ErikPshat 14.09.2018 00:57

BAT - работа с BAT-файлами
 
Вложений: 1
Демонстрация ползущего и вращающегося курсора

ErikPshat 14.09.2018 01:31

Ещё пример с прогресс-баром:
Код
Код:

@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


ErikPshat 15.12.2018 07:47

Поиск шестнадцатеричных значений в файлах по папке
 
Батник для поиска 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


ErikPshat 20.07.2022 12:10

Вложений: 2
Просто Mario :)

Вложение 18274

ErikPshat 20.07.2022 12:12

Вложений: 3
Утилитки для работы с батниками

Shell Scripting Toolkit: https://westmesatech.com/?page_id=26

Небольшой пример: Вложение 18277


Текущее время: 03:55. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.