Как добавить файл в авто загрузку используя python
Мне нужно сделать чтобы файл python сам добавился автозагрузку системы и я не знаю как это сделать я нашёл решения в интернете с редактором реестра, но по какой-то причине он у меня не сработал не выдавая никаких ошибок я также пытался просто переместить файл в папку Startup, но у меня это также не вышло
мне выдавало данную ошибку: FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/WN10/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'
вот код:
import getpass
USER_NAME = getpass.getuser()
src = 'test.py'
dest = f'C:/Users/{USER_NAME}/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'
shutil.move(src, dest)
Ответы (2 шт):
Можно сделать это через реестр, используя библиотеку winreg (ее устанавливать не надо):
import winreg
import os
# Определить имя и путь к файлу скрипта
script_name = "my_script.py"
script_path = os.path.abspath(script_name)
# Открыть раздел реестра, отвечающий за автозагрузку
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
"Software\Microsoft\Windows\CurrentVersion\Run",
0, winreg.KEY_SET_VALUE)
# Добавить значение в раздел реестра
winreg.SetValueEx(key, "MyScript", 0, winreg.REG_SZ,
script_path) # MyScript - это имя параметра реестра, называйте как хотите
# Закрыть раздел реестра
winreg.CloseKey(key)
Ответ прост вам просто нужно использовать модуль shutil.copy вот простой код для этого:
username = getpass.getuser()
filename = '' # путь до файла
# либо используйте автоматическую функцию для получения пути до файла file_path = sys.argv[0]
dir_name = f'C:/Users/{username}/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/'
shutil.copy(filename, dir_name)
Если мой ответ помог вам поставтье галочку и оцените его!