2010-12-14 15 views

Respuesta

3

No he probado esto, pero crearía un archivo de proceso por lotes que contiene "python yourfile.py" y lo pondría en la carpeta autostart.

+0

en esta carpeta de inicio automático se es? – sam

+3

En Windows 7 puede encontrarlo aquí: C: \ Users \ {mi usuario} \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup – LiMuBei

7

En el directorio de arranque siguiente (al menos existe esta ruta en Windows XP):

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

poner un acceso directo a su programa de pitón. Se debe ejecutar cada vez que se inicia el sistema.

+1

quiero hacer eso desde la línea de comandos y la ventana 7 no da permiso escribir. – sam

+0

@sam: No sé cuál es la ruta de la carpeta de inicio en Windows 7. Lo que di como ejemplo es la carpeta de inicio para todos los usuarios. Debería existir uno para cada usuario, y puede poner el atajo allí. El acceso directo puede ser un simple archivo 'bat' con contenido' python path_to_your_python_program.py' – darioo

21

Dependiendo de lo que el guión está haciendo, es posible que:

  1. paquete en un servicio, que a continuación se deben instalar
  2. añadir al registro de las ventanas (HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run)
  3. añadir un acceso directo a ella a la carpeta de inicio del menú de inicio - su ubicación puede cambiar con la versión del sistema operativo, pero los instaladores siempre tienen algo de instrucción para poner un acceso directo a esa carpeta programador de tareas
  4. uso de windows, y luego puedes configurar la tarea en varios tipos de eventos, incluido el inicio de sesión y el inicio.

La solución real depende de sus necesidades y de lo que realmente está haciendo el script.
Algunas notas sobre las diferencias:

  • la solución # 1 comienza el script con el ordenador, mientras que la solución # 2 y # 3 inicio cuando el usuario que instaló registra en
  • También vale la pena. tenga en cuenta que # 1 siempre inicia el script, mientras que # 2 y # 3 lo iniciarán solo en un usuario específico (creo que si usa el usuario predeterminado, comenzará en todos, pero no estoy seguro de los detalles) .
  • La solución n. ° 2 está un poco más "oculta" para el usuario, mientras que la solución n. ° 3 deja mucho más control al usuario en términos de deshabilitar el inicio automático.
  • Finalmente, la solución # 1 requiere derechos administrativos, mientras que los otros dos pueden ser realizados por cualquier usuario.
  • La solución n. ° 4 es algo que descubrí últimamente, y es muy sencillo. El único problema que he notado es que el script de Python hará que aparezca una pequeña ventana de comando.

Como puede ver, todo se reduce a lo que quiere hacer; por ejemplo, si es algo solo para su propósito, simplemente lo arrastraría a la carpeta de inicio.

En cualquier caso, últimamente me estoy apoyando en la solución n. ° 4, como el enfoque más rápido y directo.

+1

FYI: Si usa pythonw.exe en lugar de python.exe para iniciar su script, no debería mostrar la ventana de comandos. – Thor

0

intente agregar una entrada a "HKLM/SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce". clic con el botón derecho -> nuevo -> valor de cadena -> agregar ruta de archivo

+0

¿Cuál es la diferencia entre Run y ​​RunOnce? –

+0

@Santosh Kumar De forma predeterminada, los valores de las claves de registro de RunOnce se eliminan inmediatamente antes de ejecutarse en la línea de comandos. https://msdn.microsoft.com/en-us/library/windows/desktop/aa376977(v=vs.85).aspx –

1

si puede simplemente agregar el siguiente código a su secuencia de comandos. ¡Sin embargo, esto solo funciona en 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) 

esta función crea un archivo bat en la carpeta de inicio que ejecuta el script.

file_path es la ruta al archivo que le gustaría ejecutar cuando su computadora se abre. puede dejarlo en blanco para agregar la secuencia de comandos en ejecución al inicio.

0

Se puede poner en run_script.cmd

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

contenido de run_script.cmd

python path\to\your\script.py 
Cuestiones relacionadas