Tengo un archivo por lotes que por lo general invoco como esto:cómo ejecutar un archivo por lotes cmd.exe en una cáscara de sub
longjob.cmd >result.txt 2>&1
Esto funciona bien, pero el guión cambia de directorio durante su ejecución dejando mi concha en ese directorio, lo cual es una molestia.
¿Hay alguna manera de ejecutar el comando dentro de un subconjunto, sin dejar de capturar la salida?
He tratado
cmd longjob.cmd >result.txt 2>&1
la que sólo se sienta a la espera de un comando de salida.
También probé
start longjob.cmd >result.txt 2>&1
la que se ejecuta la secuencia de comandos, pero en una nueva ventana y toda la producción se envía a la ventana en lugar del archivo.
La manera más fácil de lidiar con esto es en realidad arreglar el archivo por lotes. 'pushd' /' popd' son de ayuda aquí. A menos que el propósito del archivo por lotes sea cambiar el directorio, nunca escribiría uno que salga en otro directorio que no sea el que comenzó. – Joey
¿Qué tal si cancelas el archivo por lotes con^C, por ejemplo? ¿Hay alguna manera sensata de restaurar el directorio de trabajo original a pesar de que se haya cancelado el archivo por lotes? – bambams