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

Batchdatei zum Eliminieren von Spalten in einer Textdatei

Frage Entwicklung

Mitglied: saturn

saturn (Level 1) - Jetzt verbinden

30.12.2008, aktualisiert 07:04 Uhr, 3541 Aufrufe, 2 Kommentare

Aus einer Datentabelle, die als Textdatei vorliegt (Werte durch Kommas getrennt) sollen unerwünschten Spalten gelöscht und die so bearbeitete Datei unter einem anderen Namen im selben Verzeichnis abgespeichert werden.

Liebe Forenmitglieder,

dies ist mein erster Beitrag, ich bin ein "batch-Neuling" und würde mich sehr freuen, eure Hilfe zu bekommen. Mein Problem: Ich habe Daten, aus denen automatisch gewisse Spalten entfernt und die verbleibende Datei unter anderem Namen abgspeichert werden soll (wenn es funktioniert, dann soll das Procedere mittel Windows Taskplaner 1x stündlich selbsttätig ablaufen können).

Die Struktur sieht so aus:

"TOA5","Klimastation","CR1000","18857","CR1000.Std.15","CPU:Klimastation 2008-2009 mit ftp.CR1","51672","ftp"
"TIMESTAMP","RECORD","ppfd_Avg","Luft_Avg","Boden_Avg"
"TS","RN","","",""
"","","Avg","Avg","Avg"
"2008-12-29 19:06:00",1,0,-6.025,-0.171
"2008-12-29 19:07:00",2,0,-6.048,-0.181
"2008-12-29 19:08:00",3,0,-6.069,-0.162
"2008-12-29 19:09:00",4,0,-6.091,-0.142
"2008-12-29 19:10:00",5,0,-6.112,-0.171
"2008-12-29 19:11:00",6,0,-6.046,-0.142
"2008-12-29 19:12:00",7,0,-5.983,-0.181
usw....

Nun sollte z.B. die 2. Spalte (fortlaufende Zahl 1 2 3 4 5 6) eliminiert werden, der Rest unter anderem Namen, z.B. Klimadaten.txt abgespeichert werden.

Wenn dabei auch der gesamte Header, also dieser Inhalt ("TOA5","Klimastation","CR1000","18857","CR1000.Std.15","CPU:Klimastation 2008-2009 mit ftp.CR1","51672","ftp""TIMESTAMP","RECORD","ppfd_Avg","Luft_Avg","Boden_Avg""TS","RN","","","""","","Avg","Avg","Avg") ebenfalls entfernt würde, wäre es von zusätzlichem Nutzen.

Kann und möchte mir dabei jemand helfen? - ich würde mich freuen!

Saturn
Mitglied: miniversum
30.12.2008 um 11:25 Uhr
Dafür bietet sich eine For-Schleife an (Hilfe mit "For /?" in der Eingabeaufforderung)
01.
@echo off 
02.
dir "~%2" 1>NUL 2>NUL&&del "~%2" /Q 
03.
FOR /F "tokens=1,2,3,4,5 delims=," %%a in ('more +2 "%~1"') do >>"~%2" echo %%a,%%c,%%d,%%e
Zur funktion:
Dieser Batchdatei übergibst du zwei Parameter. Der erste ist die Datei mit den Orginaldaten die Gefiltert werden sollen, Der Zweite Parameter ist Der Name der Datei indie die neuen Daten geschreiben werden sollen.
Der For Befehl zerlegt jede Zeile in einzelne Elemente. Hie rist als Trennzeichen das "," angegeben (delims=,) Es werden die ersten 5 Elemente verarbeitet (tokens=1,2,3,4,5). Solte die Eingangsdatei also einmal mehr Elemente (Spalten) haben müsste dies angepast werden. Nach dem "Do" steht jedes Element in einer Variabeln, beginnend bei a. Diese werden mit dem
>>"~%2" echo ...
wieder in eine Batei geschrieben. Da die Variable %%b fehlt wird diese Spalte weggelassen.
Wird eine Datei angegeben wie bereits existiert wird diese überschrieben.

more +2
Bewirkt das die ersten beiden Zeilen übersprungen werden.

miniversum
Bitte warten ..
Mitglied: saturn
30.12.2008 um 20:35 Uhr
Hallo miniversum!

Ich bedsanke mich sehr herzlich für deine rasche und exzellente Hilfe. Ich bin deinen Anleitungen gefolgt und es funktioniert einwandfrei!!!

Ich freue mich sehr, denn nun kann ich in dieser Sache weiterarbeiten (möchte nämlich eine sich selbsttätig aktualisierende Grafik mit Klimadaten aus einer entfernten Station in meine HP einbauen. Nun steht meinemn Vorhaben nichts mehr entgegen...Danke nochmals!


saturn
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Router & Routing
Tipps für Router (ca. 100 clients, VPN) (18)

Frage von oel-auge zum Thema Router & Routing ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...