Запустить пакетный файл при запуске

Существует ли способ запуска нескольких программ в командном файле при запуске системы? В дополнение к этому, в этом пакетном файле я хотел бы иметь возможность сказать: как только я выполню программу, подожди, пока эта программа полностью загрузится, и запусти следующую перечисленную программу.

Любая помощь будет оценена.

9 ответов

Решение

У меня была та же проблема в Win7, касающаяся запуска сценария (.bat) при запуске (когда компьютер загружается, когда кто-то входит в систему), который изменял бы параметры сети с помощью netsh. То, что закончилось тем, что работало для меня, было следующим:

  1. Войти с учетной записью администратора
  2. Нажмите на начало и введите "Планировщик заданий" и нажмите Return
  3. Нажмите "Библиотека планировщика заданий".
  4. Нажмите "Создать новую задачу" в правой части экрана и установите параметры следующим образом:

    а. Установите учетную запись пользователя в SYSTEM

    б. Выберите "Запуск с самыми высокими привилегиями".

    с. Выберите ОС для Windows7

  5. Нажмите на вкладку "Триггеры", а затем нажмите "Новый…". Выберите "При запуске" из выпадающего меню, нажмите "Включено" и нажмите "ОК".
  6. Нажмите на "вкладку Действия", а затем нажмите "Новый…". Если вы запускаете.bat файл, используйте cmd в качестве программы, вставьте /c .bat В поле Добавить аргументы
  7. Нажмите "ОК", затем "ОК" на панели задач создания, и теперь это будет запланировано.
  8. Добавьте скрипт.bat в место, указанное в событии вашей задачи.
  9. Наслаждаться.

Чтобы запустить пакетный файл при запуске: запустите >> все программы >> щелкните правой кнопкой мыши запуск >> открыть >> щелкните правой кнопкой мыши пакетный файл >> создать ярлык >> перетащите ярлык в папку запуска.

Путь к папке: [D|C]:\Profiles\{User}\‌​AppData\Roaming\Micro‌​soft\Windows\Start Menu\Programs\Startu‌​p

Перейдите в Run (WINDOWS + R) и введитеshell: startup, вставьте туда свой файл.bat!

Чтобы запустить командный файл в начале вашей системы, вы также можете использовать раздел реестра.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Здесь вы можете создать строку. В качестве имени вы можете выбрать что угодно, а данные - это полный путь к вашему файлу.

Также есть ключ реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

запускать что-то только при следующем запуске вашей системы.

Существует несколько способов запуска командного файла при запуске. Тот, который я обычно использую, через планировщик задач. Если вы нажмете клавишу Windows, то напечатайте планировщик задач, он появится в качестве опции (или найдите через административные инструменты).

Когда вы создаете новое задание, вы можете выбрать один из вариантов запуска, таких как "При входе в систему" ​​для конкретного пользователя, при разблокировке рабочей станции и т. Д. Затем в действиях вы выбираете запуск программы и указывает полный путь к пакетному сценарию (также имеется возможность поставить любые необходимые аргументы командной строки).

Вот пример скрипта для запуска переполнения стека в Firefox:

@echo off

title Auto launch Stack Overflow


start firefox http://stackru.com/questions/tagged/python+or+sql+or+sqlite+or+plsql+or+oracle+or+windows-7+or+cmd+or+excel+or+access+or+vba+or+excel-vba+or+access-vba?sort=newest

REM Optional - I tend to log these sorts of events so that you can see what has happened afterwards
echo %date% %time%, %computername% >> %logs%\StackruAuto.csv

exit

RunOnce

RunOnce - это опция, у которой есть несколько клавиш, которые можно использовать для указания команды, запускаемой при запуске (в зависимости от того, касается ли это пользователя или вся система):

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

установка значения:

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v MyBat /D "!C:\mybat.bat"

С установкой и восклицательным знаком в начале и если сценарий существует со значением, отличным от 0, ключ реестра не будет удален, и сценарий будет выполняться каждый раз при запуске

SCHTASKS

Вы можете использовать SCHTASKS и запускающее событие:

SCHTASKS /Create /SC ONEVENT /MO ONLOGON /TN ON_LOGON /tr "c:\some.bat" 

или же

SCHTASKS /Create /SC ONEVENT /MO ONSTART/TN ON_START /tr "c:\some.bat"

Папка автозагрузки

У вас также есть две папки автозагрузки - одна для текущего пользователя и одна глобальная. Там вы можете скопировать свои скрипты (или ярлыки), чтобы запустить файл при запуске

::the global one
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
::for the current user
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

1. Скопируйте следующие строки в Блокнот.

      Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Users\toto\your_file.bat" & Chr(34), 0
Set WshShell = Nothing

Примечание. Замените имя / путь пакетного файла в сценарии соответствующим образом в соответствии с вашими требованиями.

2. Сохраните файл с расширением .VBS, например launch_bat.vbs.

3. Создайте новый файл .bat, в нашем случае your_file.bat

4. Запишите содержимое вашего .bat файла. Пример:

       @echo off
    php c:\laragon\www\my_app\artisan serve --host=127.0.0.1 --port=8000

5. Запускаем your_file.bat и радуйтесь :)

Другой вариант - запускать пакетный файл как службу и установить запуск службы на "Автоматический" или "Автоматический (отложенный запуск)". Проверьте этот вопрос для получения дополнительной информации о том, как это сделать, лично мне больше всего нравится NSSM.

Если ваш язык Windows отличается от английского, вы можете запустить планировщик заданий с помощью

  1. Нажмите Windows+X
  2. Выберите язык перевода "Управление компьютером"
  3. Следуйте инструкции в ответе, предоставленном Prankin
Другие вопросы по тегам