Создайте сценарий запуска , компьютер будет ждать их завершения. Таким образом, вы можете либо реализовать простой режим сна, либо что-то, что ожидает присутствия обеих программ, возможно, с таймаутом, чтобы скрипт не зависал и не позволял вам войти в систему.
Как мне написать пакетный скрипт с таймаутом?
Чтобы позволить скрипту подождать, традиционным трюком было пропинговать IP, который не существует.
ping 192.192.192.192 -n 1 -w 10000 > nul
Эта команда попытается отправить один пинг и истечет через 10 секунд, поскольку 10000 мс - это 10 раз 1000 мс. Мы передадим это nul
так, чтобы вывод не отображался, это может быть необязательно, так как вы запускаете сценарий запуска, но он помещен здесь для полноты.
Как отметил Боб в комментариях, начиная с Windows Vista вы также можете использовать:
timeout /T 10 > nul
Более подробную информацию об этом варианте можно найти здесь .
Как мне написать пакетный скрипт, который ожидает завершения процесса?
Альтернативой является использование этого пакетного сценария для ожидания завершения процессов.
Вам нужно поместить команды set в верхнюю часть, и все, начиная с :STOPPROC
(включая эту строку) внизу вашего скрипта, не включает -----------
строки.
Затем посередине вы можете сделать вызовы, call :STOPPROC notepad.exe
которые будут ждать закрытия каждого последующего процесса.
Как я могу позволить компьютеру запустить мой скрипт запуска?
Посмотрите эту ссылку, которую я разместил ранее, которая объясняет это в деталях:
-
Откройте редактор локальной групповой политики.
-
В дереве консоли щелкните Сценарии (запуск / выключение) . Путь - Конфигурация компьютера \ Параметры Windows \ Сценарии (запуск / выключение) .
-
В области результатов дважды щелкните Запуск .
-
В диалоговом окне « Свойства запуска » нажмите « Добавить» .
-
В диалоговом окне « Добавить сценарий » выполните следующие действия:
-
В поле « Имя сценария» введите путь к сценарию или нажмите « Обзор», чтобы найти файл сценария в общей папке Netlogon на контроллере домена.
-
В поле Параметры скрипта введите любые параметры, которые вы хотите, так же, как вы вводите их в командной строке. Например, если ваш сценарий включает в себя параметры , называемые // логотип (плакатный) и // I (интерактивный режим), тип // логотип // I .
-
В диалоговом окне « Свойства запуска » укажите нужные параметры:
-
Сценарии запуска для <объекта групповой политики> : список всех сценариев, которые в данный момент назначены выбранному объекту групповой политики (GPO). Если вы назначаете несколько сценариев, сценарии обрабатываются в указанном вами порядке. Чтобы переместить скрипт вверх в списке, щелкните его, а затем нажмите « Вверх» . Чтобы переместить скрипт вниз по списку, щелкните его, а затем нажмите « Вниз» .
-
Добавить : открывает диалоговое окно « Добавить сценарий », где вы можете указать любые дополнительные сценарии для использования.
-
Редактировать : открывает диалоговое окно « Редактировать скрипт », где вы можете изменить информацию скрипта, такую как имя и параметры.
-
Удалить : удаляет выбранный сценарий из списка сценариев запуска .
-
Показать файлы : отображает файлы сценариев, которые хранятся в выбранном объекте групповой политики.
Есть ли другой способ, который не предполагает ожидания?
Честно говоря, вы можете не делать этого, а просто использовать клавиатуру на стартовом экране. Мне было бы надо ждать дольше на экране входа в систему, когда я уже мог запустить программу с помощью клавиатуры ...
Обязательно ознакомьтесь с ответом Windows8Fanatic , чтобы попытаться минимизировать задержку.
timeout
с Windows Vista ...