Для локального запуска batch файлов можно пользоваться решениями от третьих фирм.
Batch файлы так же могут использоваться как логин-скрипты в доменах. При таком их
использовании они будут исполняться при каждом входе пользователя в сеть не смотря на
его желание. С их помощью можно автоматизировать сбор информации о машинах или о
программном
обеспечении,
установленном
на
компьютерах
пользователей,
принудительно менять настройки Windows, устанавливать незаметно для пользователя
программное обеспечение и автоматизировать решение других задач, ручное исполнение
которых заняло бы очень много времени.
Как в bat файле дождаться появления определенного файла
Иногда необходимо при появлении определенного файла в
папке выполнить какое-то
действие. Чтобы организовать проверку появления файла в
папке можно использовать
следующий пакетный файл
:test
if exist c:\1.txt goto go
sleep 10
goto test
:go
notepad
Такой пакетный файл будет проверять с интервалом 10 секунд наличие в корне диска С
файла 1.txt и когда файл 1.txt появится, будет выполнено действие, указанное после метки
go, т.е. в
этом примере будет запущен Блокнот.
Утилита sleep свободно распространяется в составе Resource Kit. Если файл 1.txt большого
размера и копируется откуда-то, то может получиться так, что пакетный файл проверит
его наличие в то время, как файл еще не скопировался или занят другим приложением. В
таком случае, попытка выполнить какие-то действия с файлом 1.txt приведет к ошибке.
Чтобы этого не произошло пакетный файл можно модифицировать следующим образом
:test
if exist c:\1.txt goto go
sleep 10
goto test
:go
rename c:\1.txt 1.txt
if not errorlevel 0 goto go
del c:\1.txt
Когда файл 1.txt скопировался на диск С не полностью, либо занят другим приложением,
попытка его переименовать вызовет ошибку и цикл будет повторяться до тех пор, пока
файл не скопируется полностью либо не будет освобожден. После того, как команда
rename c:\1.txt 1.txt будет выполнена без ошибки (т.е. файл свободен), то с
ним можно
выполнять любые действия.
Достарыңызбен бөлісу: