Was ist der einfachste / schnellste Weg, um ein Befehlszeilentool zu messen?
Es muss nicht sehr genau sein (+/- Sekunden sind in Ordnung), da ich davon ausgehe, dass dies Minuten oder sogar 1 Stunde + dauert. Und das Schreiben einer Batch-Datei ist auch in Ordnung. Außerdem müssen keine pünktlichen Berechnungen durchgeführt werden. Zeigen Sie lediglich die Start- und Endzeit an.
windows
command-line
performance
time
Slolife
quelle
quelle
Antworten:
Ich benutze normalerweise
wenn ich sonst nichts zur hand habe. Dies führt zu einer Ausgabe wie der folgenden:
Nicht hübsch und kann durch Piping zu findstr schöner gemacht werden:
Wenn Sie die standardmäßig aktivierte Erweiterung verzögert haben (oder cmd mit
/v:on
als Argument gestartet haben ), können Sie sie auch einfach verwenden,echo !time!
ohne auf hässliche Hacks mit Eingabeverleitung zurückgreifen zu müssen.Wenn Sie eine Batchdatei verwenden möchten, können Sie dies folgendermaßen tun:
Ich habe hier nul für stdout und stderr umgeleitet, da es sonst schwierig sein könnte, die Start- und Endzeilen zu finden. Sie können dies entfernen, wenn Sie dies nicht interessieren.
Aber heutzutage benutze ich meistens TimeThis - das leider inzwischen entfernt wurde.
PowerShell bietet auch einen Weg:
Sie müssen jedoch vorsichtig mit Dingen sein, die vom Arbeitsverzeichnis oder der Umleitung abhängen. Damit diese richtig funktionieren, benötigen Sie möglicherweise einen kleinen Trick:
Dies kann auf die gleiche Weise ausgeführt werden wie
timethis
, um doppelte Anführungszeichen zu vermeiden,\"
wenn sie in der Befehlszeile benötigt werden (timethis
wie auch). Die erzeugte Ausgabe ist ähnlich. Umleitungen funktionieren jedoch nicht.quelle
timethis
.Sie können den Systemplaner verwenden, um den Befehl für Sie auszuführen.
Systemsteuerung -> Geplante Aufgaben -> Neue erstellen ....
Richten Sie die geplante Aufgabe einfach auf den Befehl, den Sie ausführen möchten, und sie sollte das tun, was Sie möchten.
Wenn Sie eine Protokolldatei erstellen möchten, in der Zeitstatusinformationen gespeichert sind, sollten Sie etwas Ähnliches wie das obige Skript in Betracht ziehen.
Ich benutze dazu ein Dienstprogramm namens "now", da es Datum und Uhrzeit wiedergibt. Dies ist sehr praktisch für Befehlszeilenskripte, die Sie in Protokolldateien verfolgen möchten, denen jedoch die Smarts fehlen, um Datum und Uhrzeit nativ anzugeben. Sehr praktisch, da es sich nicht um eine Antwort kümmert und sie verschwindet, wenn Sie damit fertig sind.
Jetzt finden Sie Utlity hier
Skriptbeispiel wäre ...
Die Beispielausgabe würde so aussehen
quelle
Eine andere Möglichkeit besteht darin, den
time
Befehl zu verwenden, mit/t
dem die aktuelle Zeitüberschreitung an die Konsole gesendet wird (oder in ein Protokoll umgeleitet wird), ohne dass Sie aufgefordert werden, die Zeit einzustellen. Es gibt eine Einschränkung darin, dass Sie die Stunden, Minuten, aber nicht Sekunden und Millisekunden erhalten.quelle
Wenn Sie Powershell haben, können Sie dies tun (alle eine Zeile, zur besseren Lesbarkeit getrennt):
Oder speichern Sie diese zur einfacheren Wiederverwendung in einer Datei.
quelle
15,5 ms und 10,2 ms mit Strg + v aus der Zwischenablage
quelle
Benutzer von Far Manager 1.x können das Timer- Plugin in Betracht ziehen .
quelle