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, 3539 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...