Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

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

Появилась необходимость дождаться появления определенного файла в папке и выполнить какое-то действие. В этом нам поможет командная строка, а точнее bat файл.Чтобы сделать проверку появления файла в папке, можно использовать следующий пакетный файл

Этот файл с интервалом 10 секунд, будет проверять  наличие в корне диска С, файла limpopo.txt, и когда файл limpopo.txt появится, будет выполнено действие, указанное после метки go, в этом примере будет запущен Блокнот.

:test
if exist c:\limpopo.txt goto go
sleep 10
goto test
:go
notepad

Утилита sleep бесплатно распространяется в составе Resource Kit.

Если файл limpopo.txt большого размера и откуда-то копируется , то может получится, что bat файл проверит его наличие в то время, как он еще не загрузился полностью или занят другим приложением. В этом случае, попытка выполнить какие-то действия с файлом limpopo.txt приведет к ошибке. Чтобы этого не произошло пакетный bat файл можно отредактировать по другому

:test
if exist c:\limpopo.txt goto go
sleep 10
goto test
:go
rename c:\limpopo.txt limpopo.txt
if not %errorlevel% == 0 goto go
del c:\limpopo.txt

Когда файл limpopo.txt загрузился на диск С не полностью, либо ещё занят другим процессом, попытка его удалить вызовет ошибку и цикл будет повторяться до тех пор, пока файл не загрузится полностью или не будет освобожден. После того, как команда rename c:\limpopo.txt limpopo.txt будет выполнена без ошибки (т.е. файл свободен), то с ним можно выполнять любые действия. В последнем примере это его удаление.

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить