如何在Windows启动时运行Python文件?
我有一个Python文件,我正在运行这个文件。
如果Windows关机后再启动,我该如何让这个文件在每次Windows开机时自动运行呢?
11 个回答
20
点击 Win+R 键
输入 shell:startup 然后按回车
把你的 Python 文件
my_script.py
拖到这个文件夹里如果你不需要控制台窗口:把文件名从
my_script.py
改成my_script.pyw
如果需要控制台窗口:创建一个
run_my_script.cmd
文件,里面写上:python path\to\your\my_script.py
27
你只需要在你的脚本里加上下面的代码。不过,这个方法只适用于Windows系统!:
import getpass
import os
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)
这个功能会在启动文件夹里创建一个批处理文件,这个文件会在你的电脑开机时运行你的脚本。
file_path
是你希望在电脑开机时运行的文件的路径。
如果你想让正在运行的脚本也能开机启动,可以把这个路径留空。
81
根据脚本的功能,你可以选择以下几种方法:
- 把它打包成一个服务,然后安装上去。
- 把它添加到Windows注册表中(HKCU\Software\Microsoft\Windows\CurrentVersion\Run)。
- 在开始菜单的启动文件夹里添加一个快捷方式——这个文件夹的位置可能会随着操作系统版本的不同而变化,但安装程序通常会有说明,告诉你怎么把快捷方式放到这个文件夹里。
- 使用Windows的任务调度器,这样你可以设置在多种事件下运行这个任务,包括登录和开机时。
具体的解决方案取决于你的需求,以及脚本的实际功能。
以下是一些不同方案的说明:
- 方案#1是在电脑开机时启动脚本,而方案#2和#3是在安装了它的用户登录时启动。
- 值得注意的是,方案#1总是会启动脚本,而方案#2和#3只会在特定用户下启动(我觉得如果使用默认用户的话,可能会在所有人登录时启动,但具体情况我不太确定)。
- 方案#2对用户来说有点“隐蔽”,而方案#3则让用户在禁用自动启动方面有更多的控制权。
- 最后,方案#1需要管理员权限,而另外两个方案任何用户都可以操作。
- 方案#4是我最近发现的,操作起来非常简单。唯一的问题是,Python脚本会导致一个小的命令窗口出现。
如你所见,这一切都取决于你想做什么;比如,如果只是为了自己使用,我会直接把它拖到启动文件夹里。
总之,最近我倾向于方案#4,因为这是最快、最简单的方法。