This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Windows - Пишем в cmd, bat

Не работает? Начинай читать инструкцию.

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

Появилась необходимость дождаться появления определенного файла в папке и выполнить какое-то действие. В этом нам поможет командная строка, а точнее 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 будет выполнена без ошибки (т.е. файл свободен), то с ним можно выполнять любые действия. В последнем примере это его удаление.

Предлагаю ознакомиться с предложениями моих партнёров