Sous Unix, nous pouvons mettre plusieurs commandes sur une seule ligne comme ceci:
$ date ; ls -l ; date
J'ai essayé une chose similaire sous Windows:
> echo %TIME% ; dir ; echo %TIME
Mais il a imprimé l'heure et n'exécute pas la commande dir
.
Comment puis-je atteindre cet objectif?
windows
batch-file
Raghuram
la source
la source
Réponses:
Utilisation:
Ceci est, de mémoire, équivalent au séparateur point-virgule dans
bash
et d'autres shells UNIXy.Il y a aussi
&&
(ou||
) qui n'exécute la deuxième commande que si la première a réussi (ou échoué), mais la seule esperluette&
est ce que vous recherchez ici.Cela vous donnera probablement le même temps, car les variables d'environnement ont tendance à être évaluées en lecture plutôt qu'en exécution.
Vous pouvez contourner ce problème en activant l'extension différée:
Cela est nécessaire à partir de la ligne de commande. Si vous faites cela dans un script, vous pouvez simplement utiliser
setlocal
:la source
time /t
(ouecho.|time
) au lieu deecho %time%
contourner le problème.