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, 8426 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

Mit freundlichen Grüßen 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 ...

Mit freundlichen Grüßen 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...

Mit freundlichen Grüßen Uwe

P.s. Baue die Zeit um und ändere Sie oben ab
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows XP
gelöst WPA2 unter Windows XP SP1 nutzen? (10)

Frage von bestelitt zum Thema Windows XP ...

Windows XP
Kann man noch neue Notebooks für Windows XP kaufen ? (9)

Frage von DieterJansen zum Thema Windows XP ...

Windows Netzwerk
SMBv2 in Windows 7 - Windows XP - Windows Server 2003 Domäne deaktivieren (4)

Frage von Mario.Steinberg zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...