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, 1683 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...