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

Maschinenlogs in Batch aufbereiten

Frage Entwicklung Batch & Shell

Mitglied: Lyriker

Lyriker (Level 1) - Jetzt verbinden

17.01.2013, aktualisiert 17:50 Uhr, 1694 Aufrufe, 3 Kommentare

Nachdem ich das Problem "Leerzeilen aus txt Dateien entfernen" und "entferne ungewollte Zeichen aus der TXT Datei und speichere das Ganze in CSV Dateien um" erfolgreich mit Hilfe der Beispiele aus dem Forum hier selbst geschafft habe, suche ich nun nach Hilfe zu "Wie wandle ich in der Batch 4m3s (4 min 3 sek) in 00:04:03 um"?

Nachdem ich das Problem "Leerzeilen aus txt Dateien entfernen" und "entferne ungewollte Zeichen aus der TXT Datei und speichere das Ganze in CSV Dateien um" erfolgreich mit Hilfe der Beispiele aus dem Forum hier selbst geschafft habe, suche ich nun nach Hilfe zu "Wie wandle ich in der Batch 4m3s (4 min 3 sek) in 00:04:03 um"?

Am Schluss soll eine csv die man in die Datenbank verpacken kann raus kommen.

Die Vorgabe ist, ein Log einer Maschine in ein Datenbank kompatibles Format zu wandeln...

txtDatei:

01.
Date :2013.1.4 
02.
 
03.
Save Recording  : 8.5.38 Clock 
04.
 
05.
Automatik : T#4m18s 
06.
 
07.
Aktiv : T#3m27s 
08.
 
09.
Error : T#18s 
10.
 
11.
Magazine : T#51s 
12.
 
13.
Out trans. : T#0ms 
14.
 
15.
Schnitte: 16 
16.
 
17.
Teil abgeschoben: 14 
18.
 
19.
Number of Parts: 13
Script (erste Bereinigung):

01.
setlocal enabledelayedexpansion 
02.
@echo off 
03.
del ausgabetext.csv 
04.
set "filename=20130104.txt" 
05.
set "tempfile=tmp.txt" 
06.
FOR /F "delims=|" %%f IN (%filename%) DO set /p =%%f<nul|echo.%%f >>%tempfile% 
07.
 
08.
for /F "delims=" %%a in (%tempfile%) do ( 
09.
set text=%%a 
10.
set text=!text: =! 
11.
set text=!text:^Clock=^! 
12.
set text=!text:^T#=^! 
13.
set text=!text:^:=^;! 
14.
set text=!text:^^=^! 
15.
echo !text!>>ausgabetext.csv 
16.
17.
del tmp.txt
Dann wird diese Datei (ausgabetext.csv) erzeugt:

01.
Date;2013.1.4 
02.
SaveRecording;8.5.38 
03.
Automatik;4m18s 
04.
Aktiv;3m27s 
05.
Error;18s 
06.
Magazine;51s 
07.
Outtrans.;1ms 
08.
Schnitte;16 
09.
Teilabgeschoben;14 
10.
NumberofParts;13
Alles soweit spitze. Doch die Zeile:
SaveRecording;8.5.38 sollte eigentlich SaveRecording;08:05:38
und die Zeilen ab Automatik;4m18s sollten eigentlich Automatik;00:04:18 sein
und Outtrans.;1ms = Outtrans.;00:00:01 etc.

Bin langsam fertig mit meinem Latein.. wäre jemand so nett mir zu helfen, mich vieleicht auf den richtigen Weg zu bringen?

Wäre äusserst dankbar, sitze schon seit Stunden damit herum...

Wenn Schreibfehler gefunden werden, können diese gern behalten werden :D
Mitglied: rubberman
17.01.2013 um 20:07 Uhr
Hallo Lyriker.

Ich verstehe zwar die Zeile Out trans. im Original nicht (0ms = 0 Millisekunden?), aber vielleicht funktioniert es ja so:
01.
@echo off 
02.
setlocal EnableDelayedExpansion 
03.
 
04.
set "filename=20130104.txt" 
05.
set "outfile=ausgabetext.csv" 
06.
 
07.
>"%outfile%" ( 
08.
  for /f "usebackq tokens=1* delims=:" %%i in ("%filename%") do ( 
09.
    set "column1=%%i" 
10.
    set "column1=!column1: =!" 
11.
    for /f "tokens=1,2" %%k in ("%%j") do ( 
12.
      set "column2=%%k" 
13.
      if /i "%%l"=="Clock" ( 
14.
        for /f "tokens=1-3 delims=." %%I in ("%%k") do ( 
15.
          set /a "h=10%%I, m=10%%J, s=10%%K" 
16.
          set "column2=!h:~-2!:!m:~-2!:!s:~-2!" 
17.
18.
      ) else if /i "!column2:~,2!"=="T#" ( 
19.
        for /f "tokens=1,2 delims=T#ms" %%I in ("%%k") do ( 
20.
          if "%%J"=="" ( 
21.
            set /a "m=100, s=10%%I" 
22.
          ) else ( 
23.
            set /a "m=10%%I, s=10%%J" 
24.
25.
          set "column2=00:!m:~-2!:!s:~-2!" 
26.
27.
28.
      echo !column1!;!column2! 
29.
30.
31.
)
Grüße
rubberman
Bitte warten ..
Mitglied: Lyriker
18.01.2013 um 08:37 Uhr
Puh! Das ist mal eine verdammt gute Lösung! Danke vielmals!
Bitte warten ..
Mitglied: Lyriker
18.01.2013 um 10:05 Uhr
PS: Ja das ist Milisekunde (00:00:00:001) = 1ms
da das aber der 00 - Wert ist (also es ist nichts passiert) kann man das vernachlässigen. jede Aktion ist > 1s

super!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (1)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (3)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch in RAR (1)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(1)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
Lokales Adminprofil defekt (15)

Frage von Yannosch zum Thema Windows 7 ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (11)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (9)

Frage von zelamedia zum Thema Internet Domänen ...