Пример автоматизации
Пример
Рассмотрим пример простого скрипта для проверки подписанных документов в папке с созданием общего отчета о проверке. Общий отчет о проверке сохраняется в формате JSON в ту же папку.
🚨 Важно: Во время проверки для каждого документа создаются JSON-файлы с отчетами. После завершения проверки скрипт удаляет эти файлы и формирует общий сводный отчет. Удалите строку
del /q "reportfile*.json"
, если необходимо сохранить эти отчеты.
set "SCRIPT_DIR=%~dp0"
"C:\Program Files\CryptoARM 6\cryptoarm6.exe" ver --source-folder %SCRIPT_DIR% -r-json
@echo off
setlocal enabledelayedexpansion
:: Настройки
set "log_file=signature_check_%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%.log"
set "valid_count=0"
set "invalid_count=0"
set "valid_files="
set "invalid_files="
:: Создаем лог-файл
echo Проверка JSON-файлов на валидность подписи [%date% %time%] > "%log_file%"
echo. >> "%log_file%"
:: Проверяем файлы
echo Анализируем JSON-файлы...
echo Анализируем JSON-файлы... >> "%log_file%"
echo. >> "%log_file%"
for %%F in (*.json) do (
echo Обработка файла: %%F
echo Обработка файла: %%F >> "%log_file%"
find /i """signValid"":true" "%%F" > nul
if !errorlevel! equ 0 (
set /a "valid_count+=1"
set "valid_files=!valid_files!"%%F" "
echo Найдена VALID подпись >> "%log_file%"
echo [VALID] %%F
) else (
find /i """signValid"":false" "%%F" > nul
if !errorlevel! equ 0 (
set /a "invalid_count+=1"
set "invalid_files=!invalid_files!"%%F" "
echo Найдена INVALID подпись >> "%log_file%"
echo [INVALID] %%F
) else (
echo Не найдена информация о подписи >> "%log_file%"
echo [NO DATA] %%F
)
)
echo. >> "%log_file%"
)
:: Выводим результаты
echo.
echo ============ ИТОГИ ============
echo. >> "%log_file%"
echo ============ ИТОГИ ============ >> "%log_file%"
echo Валидных подписей: !valid_count!
echo Валидных подписей: !valid_count! >> "%log_file%"
echo Невалидных подписей: !invalid_count!
echo Невалидных подписей: !invalid_count! >> "%log_file%"
echo.
echo. >> "%log_file%"
echo ===== Файлы с VALID подписями: =====
echo ===== Файлы с VALID подписями: ===== >> "%log_file%"
for %%F in (!valid_files!) do (
echo %%~F
echo %%~F >> "%log_file%"
)
echo.
echo. >> "%log_file%"
echo ===== Файлы с INVALID подписями: ===
echo ===== Файлы с INVALID подписями: === >> "%log_file%"
for %%F in (!invalid_files!) do (
echo %%~F
echo %%~F >> "%log_file%"
)
echo.
echo. >> "%log_file%"
echo Лог сохранен в файл: %log_file%
echo.
del /q "reportfile*.json"
pause
⚠️ Примечание: При необходимости замените путь к исполняемому файлу:
"C:\Program Files\CryptoARM 6\cryptoarm6.exe"
.
Особенности скрипта
-
Инициализация и подготовка
- При запуске скрипт автоматически определяет свою рабочую директорию (
%~dp0
). - Создается лог-файл с именем: (
signature_report.log
). - Инициализируются счетчики для подсчета действительных и недействительных подписей.
- При запуске скрипт автоматически определяет свою рабочую директорию (
-
Процесс проверки файлов
- Скрипт анализирует каждый промежуточный JSON-файл с отчетом, который создается для каждого подписанного документа.
-
Выполняется поиск строк:
"signValid":true
- признак действительной подписи"signValid":false
- признак недействительной подписи
-
Формирование отчета
-
После проверки всех файлов скрипт генерирует итоговый отчет, содержащий:
- Общее количество проверенных файлов
- Количество файлов с действительными подписями
- Количество файлов с недействительными подписями
-
Отчет сохраняется в том же каталоге, что и скрипт.
-
-
Очистка и завершение
- Автоматически удаляются JSON-файлы с отчетами, которые создаются для каждого документа.
Использование
- Сохраните код в файл с расширением .bat.
- Поместите этот файл в папку с подписанными файлами.
- Запустите двойным кликом.