Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Как в bat файле дождаться появления определенного файла

Введение в технологию командных файлов | Команды, используемые в bat файлах | Как создать файл с произвольным именем из bat файла | Как создать папку из bat файла | Как перенаправить результат выполнения команд в файл | Как автоматически ответить на запрос о подтверждении | Как из одного bat-файла запустить другой | Как переименовать файлы по маске из пакетного файла | Как из пакетного файла сделать экспорт реестра | Автоматическое создание резервной копии данных |


Читайте также:
  1. Архивация. Архиваторы, их универсальные опции. Работа с архивными файлами с помощью архиватора Winrar.
  2. Блок сохранения данных в файле То File
  3. Ввод имени файла
  4. Виды дефектов и причины их появления
  5. Возбуждение дела о защите прав потребителей. Особенности защиты прав неопределенного круга потребителей.
  6. Воздействие внешним электромагнитным сигналом определенного спектра колебаний
  7. Входные параметры для командного файла.

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

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


Дата добавления: 2015-09-04; просмотров: 97 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Как из bat файла обойти проверку даты| Как добавить комментарии в bat-файл

mybiblioteka.su - 2015-2024 год. (0.005 сек.)