¿Cómo puedo crear un archivo BAT simple que ejecutará mi secuencia de comandos python ubicado en C: \ somescript.py?Creación de un archivo BAT para la secuencia de comandos Python
muchas gracias
¿Cómo puedo crear un archivo BAT simple que ejecutará mi secuencia de comandos python ubicado en C: \ somescript.py?Creación de un archivo BAT para la secuencia de comandos Python
muchas gracias
c:\python27\python.exe c:\somescript.py %*
Abrir una línea de comandos (Windowskey + R, 'cmd', <entran>) y tipo 'python -V', <entran>.
Debería obtener una respuesta, algo así como 'Python 2.7.1'.
Si no lo hace, es posible que no tenga instalado Python. Arregla esto primero.
Una vez que tenga Python, el archivo por lotes debe ser similar
@echo off
python c:\somescript.py %*
pause
Esto mantendrá la ventana de comandos abierta después de que finalice el script, para que pueda ver los errores o mensajes. Una vez que esté contento con él, puede eliminar la línea de 'pausa' y la ventana de comando se cerrará automáticamente cuando haya terminado.
Gracias, pero ¿qué significa '@echo off' y'% * '? –
@the_prole para '@echo off' eche un vistazo a -> https://technet.microsoft.com/en-us/library/bb490897.aspx?f=255&MSPPError=-2147217396 y'% * 'puede tomar cualquier número de argumentos. – Akshay
Simplemente basta con abrir un archivo por lotes que contiene estas dos líneas en la misma carpeta de su script en Python:
somescript.py
pause
¿es posible dar el código completo, en lugar del nombre del archivo? –
@RachitGupta somescript.py en el ejemplo anterior es el nombre de archivo de la secuencia de comandos python que desea iniciar –
Así es como se puede poner tanto el código de lote y la pitón uno de cada solo archivo:
0<0# :^
'''
@echo off
echo batch code
python %~f0 %*
exit /b 0
'''
print("python code")
'''
respectivamente, inicia y finaliza los comentarios de varias líneas de pitón.
0<0# : ^
es más interesante: debido a la prioridad de redirección en el lote, se interpretará como :0<0# ^
mediante el script por lotes, que es una etiqueta cuya ejecución no se mostrará en la pantalla. El símbolo de intercalación al final escapará de la línea nueva y la segunda línea se adjuntará a la primera línea. Para Python, será una declaración 0<0
y un inicio de comentario en línea.
El mérito es de siberia-man
Si ha añadido a su PATH Python entonces también puede simplemente correr así.
python somescript.py
Sí, es fácil, no tan bueno si tiene varias instalaciones de Python (es decir, 2.7 y 3.6 por ejemplo) también casi siempre se agrega Python a camino, así que no creo que eso sea un problema. – Simon
Una opción para eso es hacer una copia en cada una de sus versiones de python del exe y cambiarle el nombre a algo único. python2.7.exe, python3.6.exe, etc. Luego, en la línea de comandos, puede llamarlo como python3.6 somescript.py –
sí terriblemente obviamente, pero efectivo (¿por qué no pensé en eso?). También creo que 36 es mejor que 3.6 y 27 para 2.7 el punto podría causar confusión. – Simon
--- --- xxx.bat
@echo off
set NAME1="Marc"
set NAME2="Travis"
py -u "CheckFile.py" %NAME1% %NAME2%
echo %ERRORLEVEL%
pause
--- --- yyy.py
import sys
import os
def names(f1,f2):
print (f1)
print (f2)
res= True
if f1 == "Travis":
res= False
return res
if __name__ == "__main__":
a = sys.argv[1]
b = sys.argv[2]
c = names(a, b)
if c:
sys.exit(1)
else:
sys.exit(0)
Hola MK-Al abrir el Bloc de notas, pegue su línea en allí y guardarlo e intentar ejecutarlo a través del programador de Windows, la ventana de la línea de comandos se abre por una fracción de segundo y luego se cierra. No veo una carpeta python27 en C: \ ¿es eso un problema? – Josh
En caso de que ayude, estoy usando Windows Server 2003 SP2 en el entorno de 64 bits – Josh
Bueno, primero debe instalar Python. Vaya a www.python.org y descargue la versión 2.7 –