I want to make my script run on startup automatically after converting it to EXE by pyinstaller tool , *once clicking on SPEED.EXE 'name of program' ,It copies itself to particular path on computer then makes a bat file in startup folder 'it contains code to start SPPED.EXE' but my problem that bat file doesnot run on start *
import os
import ftplib
import sys
import shutil
import getpass
##################copy script into startup#######################
def copy_script():
USER_NAME = getpass.getuser()
src=sys.argv[0]
dst = r'C:\Users\%s\AppData' % USER_NAME
shutil.copy2(src,dst)
dst='C:\Users\\"%s"\AppData\SPEED.exe' % USER_NAME ######name of script after making EXE
add_to_startup(USER_NAME,file_path=dst)
return None
######################################make a bat file to run on startup######
def add_to_startup(USER_NAME,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'@echo off'+ os.linesep) ## to hide console batch file when it run
bat_file.write(r'start "" %s' % file_path)
if __name__=='__main__':
copy_script()
start() ##it is function that i make it