Задержка и ожидание в .bat

slusarsu smd

Преамбула. Существует .bat файл с командами подключающими сетевые диски. Он размещается в папке Автозагрузка на Windows XP. На некоторых машинах он стартует при включении и выполняется, а на остальных — нет. Поэтому его приходиться самостоятельно запускать, что, как вы уже догадались, невероятно накладно для конечного пользователя.

Это и правильно, его, по сути, не должно волновать подключение сетевых дисков, ему нужно, чтобы они уже были видны после старта системы.
Проблема была проста. На этих машинах попросту не успевала определиться сеть, из-за чего скрипт выкидывал ошибку и завершался за долю секунды. Чтобы посмотреть ошибку пришлось в конец батника прописать команду ожидания нажатия клавиши. А именно: pause .
Далее стала задача сделать так, чтобы скрипт запускался через несколько секунд после старта windows, что позволит сетевой карте определить сеть. Перерыв интернет и поняв, что команды, работающие на Висте и выше в XP бесполезны, наткнулся на такой вариант решения проблемы: в начале файла ставим команду пинга хоста, что создает нам нужную задерку в выполнении скрипта — ping 127.0.0.1 -n 30 > nul.
З0 — это секунды. По факту достаточно и 10сек.
Весь скрипт выглядит так:

ping 127.0.0.1 -n 10 > nul
net use Z: /DELETE
net use S: /DELETE
net use Z: \\192.168.30.111\shara /USER:user password
net use S: \\192.168.30.222\documents /USER:user password
pause

Подробнее о командах Windows http://ab57.ru/cmd.html

Одна идея о “Задержка и ожидание в .bat

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.