Как запустить файл python при запуске Windows? - PullRequest
34 голосов
/ 14 декабря 2010

У меня есть файл Python, и я запускаю файл.

Если Windows завершает работу и загружается снова, как я могу запускать этот файл при каждом запуске Windows?

Ответы [ 6 ]

39 голосов
/ 14 декабря 2010

В зависимости от того, что делает скрипт, вы можете:

  1. упакуйте его в сервис, который затем должен быть установлен
  2. добавить его в реестр Windows (HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run)
  3. добавьте ярлык к нему в папку автозагрузки меню «Пуск» - его расположение может изменяться в зависимости от версии ОС, но у установщиков всегда есть инструкция по установке ярлыка в эту папку
  4. используйте планировщик задач Windows, и тогда вы можете установить задачу для нескольких типов событий, включая вход в систему и запуск.

Фактическое решение зависит от ваших потребностей и от того, что на самом деле делает сценарий.
Некоторые заметки о различиях:

  • Решение № 1 запускает сценарий на компьютере, а решение № 2 и № 3 запускает его, когда пользователь, установивший его, входит в систему.
  • Также стоит отметить, что # 1 всегда запускает скрипт, в то время как # 2 и # 3 запускают скрипт только для определенного пользователя (я думаю, что если вы используете пользователя по умолчанию, то он будет запускаться для всех, но Я не уверен в деталях).
  • Решение № 2 немного более «скрыто» для пользователя, в то время как решение № 3 оставляет пользователю гораздо больше контроля с точки зрения отключения автоматического запуска.
  • Наконец, решение № 1 требует административных прав, тогда как два других могут быть выполнены любым пользователем.
  • Решение №4 - это то, что я обнаружил в последнее время, и оно очень простое. Единственная проблема, которую я заметил, это то, что скрипт python вызовет появление небольшого командного окна.

Как видите, все сводится к тому, что вы хотите сделать; например, если это что-то только для ваших целей, я бы просто перетащил его в папку автозагрузки.

В любом случае, в последнее время я опираюсь на решение № 4, как на самый быстрый и простой подход.

8 голосов
/ 10 августа 2017

if может просто добавить следующий код в ваш скрипт. Тем не менее, это работает только на Windows!:

import getpass
USER_NAME = getpass.getuser()


def add_to_startup(file_path=""):
    if file_path == "":
        file_path = os.path.dirname(os.path.realpath(__file__))
    bat_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup' % USER_NAME
    with open(bat_path + '\\' + "open.bat", "w+") as bat_file:
        bat_file.write(r'start "" %s' % file_path)

эта функция создает файл bat в папке автозагрузки, в которой запускается ваш скрипт.

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

7 голосов
/ 14 декабря 2010

В следующем каталоге запуска (по крайней мере, этот путь существует в Windows XP):

C:\Documents and Settings\All Users\Start Menu\Programs\Startup

добавьте ярлык для вашей программы на python.Он должен выполняться каждый раз при запуске вашей системы.

3 голосов
/ 14 декабря 2010

Не проверял это, но я бы создал командный файл, содержащий "python yourfile.py" и поместил его в папку автозапуска.

0 голосов
/ 09 марта 2018

Вы можете поместить run_script.cmd в

C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Содержимое run_script.cmd

python path\to\your\script.py
0 голосов
/ 26 февраля 2014

попробуйте добавить запись в «HKLM / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ RunOnce». Щелкните правой кнопкой мыши -> новый -> строковое значение -> добавить путь к файлу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...