2012-01-31 8 views
6

quiero copiar algunos archivos en discos USB diffent, y desea utilizar START para abrir varias consolas de la siguiente manera:cómo salir el uso de "inicio" en archivos por lotes de MS-DOS

start copy a.txt h: 
start copy a.txt i: 
start copy a.txt j: 

Pero cada vez que corro el archivo por lotes, hay 3 consolas sin salir. ¿Cómo puedo realizar esta función SALIR SIN usando 3 archivos por lotes y "llamar" comandos como:

copy.bat:

call a.bat 
call b.bat 
call c.bat 
exit 

y tres llamados archivos por lotes como:

a.bat:

start copy a.txt h: 
exit 

b.bat:

start copy a.txt i: 
exit 

c.bat:

start copy a.txt j: 
exit 

Ya he probado esto, pero no funciona:

start copy a.txt h: && exit 
start copy a.txt i: && exit 
start copy a.txt j: && exit 
+0

editado mi respuesta, éste funciona :) –

+0

Sólo por curiosidad; ¿Por qué usar 'call' no es una opción? –

Respuesta

13

tiene que escapar & & por lo que se convierte en parte del comando ejecutado por el inicio y no el archivo por lotes de los padres.

start copy a.txt h: ^&^& exit 

Para cerrar la nueva consola incluso si hay errores que puede hacer:

start "" "%comspec%" /c copy a.txt h: 
+0

Bien, no sabía que tenías que escapar del & 's. –

+0

¡Gracias, el primer caso es útil y útil! Yo tampoco conocía el escape antes. –

+0

'start' con el parámetro'/b' evitará que se cree una ventana. –

4

Usted puede utilizar a start inicia una nueva ventana de cmd y ciérrala una vez que el comando se haya ejecutado así:

start cmd /c copy a.txt h: 
+0

no, no funciona, y solo ejecutará una línea. –

+0

¡Gracias! funciona esta vez –

+0

Impresionante, sin preocupaciones :) –

Cuestiones relacionadas