Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Reine Zeitmessung unter Windows XP

Frage Entwicklung Batch & Shell

Mitglied: noodles101

noodles101 (Level 1) - Jetzt verbinden

15.09.2006, aktualisiert 12:44 Uhr, 8541 Aufrufe, 8 Kommentare

Ich möchte in einer Batchdatei die Zeitmessen, die ein Befehl oder Aufruf kostet.

Ich möchte in einer Batchdatei die Zeitmessen, die ein Befehl oder Aufruf kostet. Wollte dazu %TIME% nutzen. Aber so einfach scheint es nicht zu sein. Könnt Ihr mir diesbezüglich helfen? Meine Batch sieht so aus:

@set stime = %TIME%
@dir
@set etime = %TIME%

@set ergebnis = %etime% - %stime%

@echo %ergebnis%
@pause

Besten Dank im Voraus.
Enrico
Mitglied: Garfieldt
15.09.2006 um 10:14 Uhr
Ich glaube, dein Problem hier ist, das du nicht so einfach zwei Zeiten voneinander subtrahieren kannst. Meiner Meinung nach ist das mit reinen Konsolenbefehlen unter Dos oder Windows nicht moeglich.
Alles was dir da bleibt, ist die Start und die Endzeiten in eine Textdatei zu schreiben und dann mit einem 2. Programm auszuwerten.
Bitte warten ..
Mitglied: Metzger-MCP
15.09.2006 um 10:56 Uhr
Stimmt nicht ganz ! das geht @Garfieldt

MFG Metzger

kurze Version Milisekunden

@echo off

echo %time% >z.txt
for /F "eol=; tokens=1,2,3,4,5* delims=: " %%i in (z.txt) do echo %%i%%j%%k%%l >z.txt
for /F "eol=; tokens=1,2* delims=, " %%i in (z.txt) do set st= %%i%%j

rem hier kommen deine Befehle rein zum testen kannst du ja pause einfügen ...

echo %time% >z.txt
for /F "eol=; tokens=1,2,3,4,5* delims=: " %%i in (z.txt) do echo %%i%%j%%k%%l >z.txt
for /F "eol=; tokens=1,2* delims=, " %%i in (z.txt) do set et= %%i%%j

del z.txt

set /a dif= (%et% - %st% ) / 100
set /a std= %dif% / 3600
set /a min= (%dif% - ( 3600 * %std% )) / 60
set /a sek= %dif% - (( %dif% / 60 ) * 60 )
set /a msek= (%et% - %st% ) - (((%et% - %st% ) / 100) * 100 )

echo Die Laufzeit betrug %std% Stunden %min% Minuten %sek% Sekunden %msek% Milisekunden

kurze Version Sekunden

@echo off

echo %time% >z.txt
for /F "eol=; tokens=1,2,3,4,5* delims=:;, " %%i in (z.txt) do set st= %%i%%j%%k

rem hier kommen deine Befehle rein zum testen kannst du ja pause einfügen ...

echo %time% >z.txt
for /F "eol=; tokens=1,2,3,4,5* delims=:;, " %%i in (z.txt) do set et= %%i%%j%%k

del z.txt

set /a dif= (%et% - %st%)
set /a std= %dif% / 3600
set /a min= (%dif% - ( 3600 * %std% )) / 60
set /a sek= %dif% - (( %dif% / 60 ) * 60 )

echo Die Laufzeit betrug %std% Stunden %min% Minuten %sek% Sekunden


Lange Version

@echo off

rem --- Erste Zeit nehmen in Datei speichern umwandeln und auf Variable legen ---

echo ----------------------------------
echo %time% >z.txt
for /F "eol=; tokens=1,2,3,4,5* delims=: " %%i in (z.txt) do echo %%i%%j%%k%%l >z.txt
for /F "eol=; tokens=1,2* delims=, " %%i in (z.txt) do set st= %%i%%j
echo %st%
echo ----------------------------------

rem hier kommen deine Befehle rein zum testen kannst du ja pause einfügen ...
rem --- Zweite Zeit nehmen in Datei speichern umwandeln und auf Variable legen ---

echo ----------------------------------
echo %time% >z.txt
for /F "eol=; tokens=1,2,3,4,5* delims=: " %%i in (z.txt) do echo %%i%%j%%k%%l >z.txt
for /F "eol=; tokens=1,2* delims=, " %%i in (z.txt) do set et= %%i%%j
echo %et%
echo ----------------------------------

rem --- Berechnung und Berchnungsdatei löschen ---

echo ----------------------------------

del z.txt

set /a dif= (%et% - %st% ) / 100
set /a std= %dif% / 3600
set /a min= (%dif% - ( 3600 * %std% )) / 60
set /a sek= %dif% - (( %dif% / 60 ) * 60 )
set /a msek= (%et% - %st% ) - (((%et% - %st% ) / 100) * 100 )

echo Die Laufzeit betrug %std% Stunden %min% Minuten %sek% Sekunden %msek% Milisekunden
echo ----------------------------------
Bitte warten ..
Mitglied: Garfieldt
15.09.2006 um 11:09 Uhr
Okay, lasse mich immer wieder gerne eines Besseren belehren, man lernt ja nie aus! Respekt geniale Loesung!
Bitte warten ..
Mitglied: noodles101
15.09.2006 um 11:27 Uhr
Besten Dank für die Hilfe.

Naja.. die Zeitmessung geht hier zw. 10 - 15 Minuten

Aber Sekunden ist vollkommen in Ordnung ;)
Bitte warten ..
Mitglied: Metzger-MCP
15.09.2006 um 11:30 Uhr
Man tut was man kann ! Der Biber würde da mal wieder ein einzeiler raus machen.
Däfür kennt man Ihn, und seine Lösungen. Vielleicht präsentiert er hier noch eine ...

MFG Metzger
Bitte warten ..
Mitglied: Metzger-MCP
15.09.2006 um 11:35 Uhr
Könnte sie auch noch anpassen so das Stunden Minuten Sekunden und so weiter detalierter Dargestellt werden.

P.s

Die Datei liefert nur dann passende Werte, wenn kein Tageswechsel stattfindet.
Aber das wäre auch noch anpassbar.
Bitte warten ..
Mitglied: noodles101
15.09.2006 um 12:20 Uhr
Also es wäre sehr nett wenn da vielleicht Minuten und Sekunden stehen würde

Tageswechsel gibt es nicht


aber es passiert was ganz komisches...

irgendwie wird das "pause" und die Ausgabe:

@echo Es dauerte so lange %dif% Sekunden!
@echo Es dauerte so lange %dif% Sekunden! > time.txt

nicht ausgeführt... also die Datei time.txt wird nicht erstellt... dafür ist aber die datei z.txt noch da ;)

alles sehr komisch hier
Bitte warten ..
Mitglied: Metzger-MCP
15.09.2006 um 12:44 Uhr
hmmmm komisch bei mir funktionieren alle 3 Teile

Welche Version hast du genommen und wo hast du Pause eingebaut.
Welche taste hast du bei der Pause gedrückt ?

schicke mir doch mal deine Datei zu...

MFG Uwe

P.s. Baue die Zeit um und ändere Sie oben ab
Bitte warten ..
Ähnliche Inhalte
Humor (lol)
Bluescreen als Retter: Windows XP zu instabil für WannaCry

Link von hugonatter zum Thema Humor (lol) ...

Windows XP
SP3 für Windows XP Embedded Version 2002 (4)

Frage von Michael-24 zum Thema Windows XP ...

Microsoft
Windows XP Embedded Partition verschwunden (4)

Frage von Tiloklom zum Thema Microsoft ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (16)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (13)

Frage von sysbone zum Thema Zusammenarbeit ...

Windows 7
Freeware MSI Tool (12)

Frage von uridium69 zum Thema Windows 7 ...