2012-01-19 13 views
96

En Unix, podemos poner varios comandos en una sola línea como la siguiente:varios comandos en una sola línea en un archivo por lotes de Windows

$ date ; ls -l ; date 

probé una cosa similar en Windows:

> echo %TIME% ; dir ; echo %TIME 

Pero imprimió el tiempo y no ejecuta el comando dir.

¿Cómo puedo lograrlo?

+3

duplicado posible de [? Cómo ejecutar dos comandos en una sola línea en Windows CMD] (http://stackoverflow.com/questions/ 8055371/how-to-run-two-commands-in-one-line-in-windows-cmd) – IvanRF

Respuesta

155

Uso:

echo %time% & dir & echo %time% 

Esto es, de la memoria, equivalente al separador de punto y coma en bash y otras cáscaras UNIXy.

También hay && (o ||), que sólo se ejecuta el segundo comando si la primera tuvo éxito (o no), pero el solo carácter & & es lo que está buscando aquí.


Es probable que le conceda el mismo tiempo, sin embargo, dado que las variables de entorno tienden a evaluarse en lectura en lugar de ejecutarse.

Puede obtener esta ronda mediante la activación de expansión retardada:

pax> cmd /v:on /c "echo !time! & ping 127.0.0.1 >nul: & echo !time!" 
15:23:36.77 
15:23:39.85 

lo que se necesita desde la línea de comandos. Si usted está haciendo esto dentro de un script, sólo puede utilizar setlocal:

@setlocal enableextensions enabledelayedexpansion 
@echo off 
echo !time! & ping 127.0.0.1 >nul: & echo !time! 
endlocal 
+0

Gracias por la respuesta. El problema es que funciona parcialmente. el primer y último% de tiempo imprime el mismo tiempo incluso cuando el comando (en el medio) tarda al menos 40 segundos en completarse. (Ejecuto el script en lugar del comando dir) – Raghuram

+1

Esto se debe a que las variables de entorno se evalúan cuando el comando es _read_ que ejecutado Actualizaré la respuesta. – paxdiablo

+0

Todavía el problema persiste. La secuencia de comandos sale con el código 1. Pero aún el segundo eco imprime al mismo tiempo. Vea esta operación 12: 57: 56.93 Se ha salido un hilo mientras se ejecutaban 3 subprocesos. 12: 57: 56.93 – Raghuram

Cuestiones relacionadas