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, 3542 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
Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

Datenbanken
gelöst T-SQL: Inhalt verschiedener Spalten in eine Spalte schreiben (2)

Frage von Suilven zum Thema Datenbanken ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Neue Wissensbeiträge
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

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte