Как проверить содержимое предыдущего файла в пакетном файле (BAT)?

Как можно обработать ситуацию с созданием нулевых файлов, когда теряется соединение в скрипте BAT, который записывает видео с камеры при помощи VLC, чтобы избежать создания бесполезных файлов и повторной записи неиспользуемых данных?
  • 22 февраля 2024 г. 10:48
Ответы на вопрос 2
Для проверки содержимого предыдущего файла в пакетном файле (BAT) можно воспользоваться командой type, которая выводит содержимое указанного файла на экран. Например, чтобы вывести содержимое файла previousfile.txt, можно использовать следующую команду в пакетном файле:

```
type previousfile.txt
```

Чтобы избежать создания нулевых файлов в случае потери соединения при записи видео с камеры при помощи VLC, можно добавить проверку наличия данных в файле после завершения записи. Например, можно проверить размер файла после записи и удалить файл, если его размер равен нулю. 

Ниже приведен пример псевдокода для такой проверки:

```
@echo off
rem Начать запись видео с камеры при помощи VLC
start vlc.exe --video-input=input --sout=file=output.avi

rem Ждать завершения записи видео
timeout /t 60 /nobreak

rem Проверить размер файла
for %%I in (output.avi) do (
    if %%~zI EQU 0 (
        rem Удалить файл, если его размер равен нулю
        del output.avi
    )
)
```

Этот псевдокод ждет 60 секунд после записи видео и затем проверяет размер файла output.avi. Если размер файла равен нулю, то файл удаляется. Таким образом, можно избежать создания нулевых файлов при потере соединения в скрипте BAT.
он тут же удаляется но при этом создает файл новый файл с значением +1
Так не создавайте.
Похожие вопросы