Unter Unix können wir mehrere Befehle in einer einzigen Zeile wie folgt einfügen:
$ date ; ls -l ; date
Ich habe etwas Ähnliches in Windows versucht:
> echo %TIME% ; dir ; echo %TIME
Aber es druckte die Zeit und führt den Befehl nicht aus dir
.
Wie kann ich das erreichen?
windows
batch-file
Raghuram
quelle
quelle
Antworten:
Verwenden:
Dies entspricht aus dem Speicher dem
bash
Semikolon -Trennzeichen in und anderen UNIXy-Shells.Es gibt auch
&&
(oder||
), die den zweiten Befehl nur ausführen, wenn der erste erfolgreich war (oder fehlgeschlagen ist), aber das einzelne kaufmännische Und&
ist das, wonach Sie hier suchen.Dies gibt Ihnen wahrscheinlich die gleiche Zeit, da Umgebungsvariablen eher beim Lesen als beim Ausführen ausgewertet werden.
Sie können dies umgehen, indem Sie die verzögerte Erweiterung aktivieren:
Das wird über die Kommandozeile benötigt. Wenn Sie dies in einem Skript tun, können Sie einfach Folgendes verwenden
setlocal
:quelle
time /t
(oderecho.|time
) zu verwenden, anstattecho %time%
das Problem zu umgehen.