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

Zeit messen zum Erstellen von Dateien mit batch möglich

Frage Entwicklung Batch & Shell

Mitglied: Bischoff

Bischoff (Level 1) - Jetzt verbinden

15.07.2008, aktualisiert 22:58 Uhr, 13847 Aufrufe, 7 Kommentare

Hi,

bin gerade dabei ein Batch zu erstellen, um die Perfomance von Anti-Viren Scannern wie Symantec und Sophos zu teste.
Dieser Batch erstellt mehrere Dateien (Variabel) und soll dann die Zeit messen, die benötigt wird, um die Dateien zu erstellen
z.B für 200 Dateienn 3,2 Sekunden oder so etwas in der Art.

Hatte schonmal en andren Threat aufgemacht, indem wurde mir gesagt bei machen Windows Versionen gibt es den Befehl "Timethis"
diesen gibts bei dieser Version leider nicht...

Jetz wollt ich mal fragen obs noch ne andre möglichkeit gibt da z.B beim ping ja auch die Zeit gemessen wird.

Hoffe mir kann jemand helfen hier mal der code der jetzigen Datei:


Timethis Dateienerstellen.cmd

@echo off
set nr=0
set limit=5

:schleife
echo abc[%nr%] >>%0\..\abc%nr%.cmd
set /a nr=%nr%+1

echo erstelle %nr%.cmd

if not %nr% == %limit% goto schleife

pause



Mfg
Mitglied: uebeltat
15.07.2008 um 08:24 Uhr
Bin zwar nicht der Batch-Profi, aber mein Denkansatz wäre folgender:

Zum Begin der Batch mit "echo %TIME%" die aktuelle Zeit abfragen, nach dem Durchlaufen der Batch die Zeit abfragen und beides in ne Art Log-Datei schreiben. Oder (wie auch immer man dies anstellt, ist aber garantiert möglich) beide Zeiten subtrahieren um die benötigte Zeit in Sekunden zu erhalten...

Wenn sich keiner offenbart werde ich mich mal dransetzen...

LG
Bitte warten ..
Mitglied: Bischoff
15.07.2008 um 08:28 Uhr
Hmm

das hört sich schonmal nich schlecht an...
Nur ich bin da auch nich der Profi hab bis vor kurzer Zeit noch nie
mit Batches zu tun gehabt :P

mal schaun ich probiers mal

thx
Mfg
Bitte warten ..
Mitglied: harald21
15.07.2008 um 08:42 Uhr
Hallo,

probier mal folgendes:

echo | time > time.log
Damit wird die aktuelle Uhrzeit in das Logfile geschrieben. Wenn du das zu Beginn und am Ende deiner Batch einfügst, so kannst du hinterher (manuell) die Laufzeit berechnen.

mfg
Harald
Bitte warten ..
Mitglied: Bischoff
15.07.2008 um 09:02 Uhr
Also habs jetzmal mit 2 versionen Versucht :P

1.
echo | time >time.log
.
.
code
.
.
echo | time >time.log

pause

Da passiert garnichts...also es wird auch kein Logfile erstellt.



2.
echo | time >>%0\..\time.log



echo | time >>%0\..\time.log


pause


Hier kommt dann diese Meldung in der logdatei:

Aktuelle Zeit: 9:01:41,24
Geben Sie die neue Zeit ein: ECHO ist eingeschaltet (ON).
Eingegebene Zeit kann nicht bernommen werden.
Geben Sie die neue Zeit ein: Aktuelle Zeit: 9:01:41,43
Geben Sie die neue Zeit ein: ECHO ist eingeschaltet (ON).
Eingegebene Zeit kann nicht bernommen werden.
Geben Sie die neue Zeit ein:


Versteh nicht warum er da das zweite mal die Zeit nicht übernimmt
Bitte warten ..
Mitglied: uebeltat
15.07.2008 um 09:05 Uhr
Du musst vor und nach "time" noch % setzen.

Also richtig wäre: echo %TIME% >> time.log



Grund: Mit "echo time" rufst du den Dos-Befehl "time" auf, der ein eigenständiges Programm ist und mit dem du auf Dos-Ebene die Uhrzeit ändern kannst.

Für deine Zwecke ist aber der Inhalt der Variablen %TIME% von Bedeutung
Bitte warten ..
Mitglied: Bischoff
15.07.2008 um 09:27 Uhr
Aaaja

jetz funktionierts danke.

Mfg
Bitte warten ..
Mitglied: ChrisNick
15.07.2008 um 22:58 Uhr
ECHO OFF

SETLOCAL
CALL :GET_NOW
SET now=%return%
CALL :COMP_CSEC %return%
SET start=%return%

REM Ausführen der Aufgabe
DIR *.* > NUL

CALL :GET_NOW
CALL :COMP_CSEC %return%
CALL :COMP_TIME %start% %return%

REM Info ausgeben i. e. Datei
ECHO Startzeit %now:~0,19% Es hat %return% sec gedauert >>log.dat

GOTO :EOF

:GET_NOW
SET return=%TIME%_%DATE%
IF "%return:~0,1%" EQU " " SET return=0%return:~1%
SET return=%return:~18,4%-%return:~15,2%-%return:~12,2% %return:~0,11%
GOTO :EOF

:COMP_CSEC
SET zeit=%*
SET hours=%zeit:~11,2%
SET mins=%zeit:~14,2%
SET secs=%zeit:~17,2%
SET csec=%zeit:~20,2%
IF "%hours:~0,1%" EQU "0" SET hours=%hours:~1%
IF "%mins:~0,1%" EQU "0" SET mins=%mins:~1%
IF "%secs:~0,1%" EQU "0" SET secs=%secs:~1%
IF "%csec:~0,1%" EQU "0" SET csec=%csec:~1%
SET /A return="((hours * 60 + mins) * 60 + secs) * 100 + csec"
GOTO :EOF

:COMP_TIME
SET /A return=%2 - %1
IF %return% LSS 0 SET /A return=%return% + 8640000
IF "%return:~0,-1%" EQU "" SET return=0%return%
IF "%return:~0,-2%" EQU "" SET return=0%return%
SET return=%return:~0,-2%,%return:~-2%
GOTO :EOF
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateien mit Batch entpacken (9)

Frage von SirNoob zum Thema Batch & Shell ...

Batch & Shell
Cpl Dateien per Batch oder VBS öffnen (1)

Frage von Angelo131095 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(37)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

Netzwerke
VLAN Verständnissproblem (9)

Frage von Dragan123 zum Thema Netzwerke ...