Top-Themen

Aktuelle Themen (A bis Z)

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

Textdatei erste Zeile löschen und Gänsefüßchen entfernen

Frage Entwicklung Batch & Shell

Mitglied: tegee08

tegee08 (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 18.04.2008, 8474 Aufrufe, 12 Kommentare

Hallo zusammen,

ich bin begeistert von diesem Forum, habe in 2 Stunden schon sehr viel gelernt! Einfach klasse.

Jetzt zu meinem Problem:

habe eine Datei mit folgendem Ihnhalt
*Anfang*
Firma;Vorname;Name;Strasse;Plz;Ort;Lkz;ReNr;Verfahren
"musterfirma";"Matthias";"Kfsdsdgdf";"straßenplatz 15";"79332";"MtrettrreOrt";"DE"
"musterfirma";"Manfred";"dfgdfgf";"straßenweg 15";"79778";"MtrettrreOrt";"DE"

usw
*Ende*

diese Datei muss an ein Programm übergeben werden, wobei die erste Zeile raus muss und die Gänsefüßchen verschwinden müssen.

Bislang mache ich das händisch mit dem guten alten Notepad.

Das ersetzen der Gänsefüßchen habe ich auch schon hinbekommen mit Hilfe des Forums. Das sieht so aus:

*Anfang*
@echo off & setlocal
set "Ein=c:\test.txt"
set "Aus=c:\test2.txt.txt"

set "Cvt=%temp%\ConvSC.vbs"
echo Set fso=CreateObject("Scripting.FileSystemObject"):fso.OpenTextFile("%Aus%",2,True).Write Replace(fso.OpenTextFile("%Ein%",1).ReadAll,Chr(34),"")>"%Cvt%"
cscript //nologo "%Cvt%"
del "%Cvt%"
*Ende*

funktioniert auch super gut

Ich würde mich freuen, wenn mir jemand bei dem Problem hilft, da ich überhaupt keine Ahnung davon habe.

Schon mal besten Dank.
Mitglied: Biber
17.04.2008 um 18:56 Uhr
Moin tegge08,

willkommen im Forum.
Mit reinen Batchmitteln ginge es als Oneliner vom CMD-Prompt so:
01.
>type e:\work\Gangster.txt 
02.
Firma;Vorname;Name;Strasse;Plz;Ort;Lkz;ReNr;Verfahren 
03.
"musterfirma";"Matthias";"Kfsdsdgdf";"straßenplatz 15";"79332";"MtrettrreOrt";"DE" 
04.
"musterfirma";"Manfred";"dfgdfgf";"straßenweg 15";"79778";"MtrettrreOrt";"DE" 
05.
 
06.
>setlocal enableDelayedExpanson & @for /f "skip=1 delims=" %i in (e:\work\Gangster.txt) do @set "ln=%i" && @echo !ln:"=! 
07.
musterfirma;Matthias;Kfsdsdgdf;straßenplatz 15;79332;MtrettrreOrt;DE 
08.
musterfirma;Manfred;dfgdfgf;straßenweg 15;79778;MtrettrreOrt;DE
Die zweite mit ">" beginnende Zeile ist die von Dir einzugebende - Dateinamen natürlich anpassen.

Wenn das so passt, dann kannst Du diese Bildscirmausgabe umleiten mit ">neueDatei.txt" am Einde der Zeile.

Und/Oder das ganze als Batchdatei speichern, dann aber alle %i zu %%i ändern.

Grüße
Biber

P.S. Wie Du Deinen Code als <code> formatieren kannst steht in den Häufigen Fragen/FAQ.
Bitte warten ..
Mitglied: bastla
17.04.2008 um 19:13 Uhr
Hallo tegee08 und willkommen im Forum!

Die VBS-gestützte Variante sähe so aus:
01.
@echo off & setlocal 
02.
set "Ein=c:\test.txt" 
03.
set "Aus=c:\test2.txt.txt" 
04.
 
05.
set "Cvt=%temp%\ConvSC.vbs" 
06.
echo Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile("%Ein%").ReadAll:fso.OpenTextFile("%Aus%",2,True).Write Replace(Mid(T,InStr(T,vbCrLF)+2),Chr(34),"")>"%Cvt%" 
07.
cscript //nologo "%Cvt%" 
08.
del "%Cvt%"
Grüße
bastla
Bitte warten ..
Mitglied: tegee08
17.04.2008 um 19:56 Uhr
Klasse!

damit bin ich schon ein Stück weiter.

Geht das auch, ohne, dass eine weitere Datei erzeugt wird, also die vorhandene bearbeiten, erste Zeile löschen, Gänsefüßchen rausschmeißen und wieder speichern?

ach ja und was mir leider erst jetzt aufgefallen ist....am besten noch den String Firma; suchen und wenn nicht vorhanden, dann nicht die erste Zeile löschen.

oder andersrum: nur wenn Firma; in erster Zeile vorhanden ist dann löschen sonst nur Gänsefüßchen raus.

thx
Bitte warten ..
Mitglied: bastla
17.04.2008 um 20:33 Uhr
Hallo tegee08!

Das integrierte Script ließe sich zwar noch immer in eine Zeile schreiben, aber durch die Aufteilung wird's etwas handlicher (und lesbarer ):
01.
@echo off & setlocal 
02.
set "Ein=c:\test.txt" 
03.
 
04.
set "Cvt=%temp%\ConvSC.vbs" 
05.
echo Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile("%Ein%").ReadAll>"%Cvt%" 
06.
echo If InStr(Split(T,vbCrLF)(0),"Firma;") Then T=Mid(T,InStr(T,vbCrLF)+2)>>"%Cvt%" 
07.
echo fso.OpenTextFile("%Ein%",2,True).Write Replace(T,Chr(34),"")>>"%Cvt%" 
08.
cscript //nologo "%Cvt%" 
09.
del "%Cvt%"
Grüße
bastla
Bitte warten ..
Mitglied: Biber
17.04.2008 um 21:21 Uhr
@bastla
aber durch die Aufteilung wird's etwas handlicher (und lesbarer

Na ja, das würde ich nicht verallgemeinern... ob das sooo viele sooo fließend lesen können?

Also - ich kann es ja gut lesen, aber ich kenne ein paar Leute, die etwas hysterisch zu Kichern beginnen, wenn ich denen das am Telefon durchgebe...

Grüße
Biber
Bitte warten ..
Mitglied: bastla
17.04.2008 um 21:27 Uhr
@Biber
Ich sag doch: lesbarer - und ich hab' schon Schlimmeres als das da verbrochen (und Du auch ) ...

ein paar Leute, die etwas hysterisch zu Kichern beginnen, wenn ich denen das am Telefon durchgebe...
Die haben's aber sicher alle verdient ...

BTW: Telefonierst Du eigentlich öfter Bätche?

Grüße
bastla
Bitte warten ..
Mitglied: Biber
17.04.2008 um 23:15 Uhr
@bastla
BTW: Telefonierst Du eigentlich öfter Bätche?
Unter uns: Im Moment habe ich mich bei einer anonym bleiben wollenden magentafarbenen Firma verdingt.
Deren Kerngeschäft ist witzigerweise ...nein, das verrat ich jetzt nicht.

Und für die ist jedenfalls ein per Telefon durchbuchstabierter Batch die einzige stabile Remoteverbindung, die sie kennen.....
... vorausgesetzt die beiden Telefonierer haben ihre Handys bei O2 und Vodafone und nix Pinkes...

Aber nich' weitererzählen bitte.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
17.04.2008 um 23:23 Uhr
@Biber
Im Moment habe ich mich bei einer anonym bleiben wollenden magentafarbenen Firma verdingt.
Na, dann wird's mit denen ja doch noch was ...

Fangen solche Bätche dann übrigens so an?
01.
@echo off & setlocal & color fd
Grüße
bastla
Bitte warten ..
Mitglied: Biber
18.04.2008 um 00:23 Uhr
@bastla

Wo denkst Du hin - hier hat jeder Rechner als Standard:
01.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor 
02.
    DefaultColor        REG_DWORD       0xfd
... und macht düdüddelidü bei der Anmeldung.

Und wir haben MSOD's statt der doofen BSOD's...

Na gut, genug OT für heute ...

Grüße
Biber
Bitte warten ..
Mitglied: tegee08
18.04.2008 um 08:56 Uhr
Danke an euch Beide

das klappt wie verrückt

einen habe ich noch (weil ich echt im Tal der Ahnungslosen bin)

kriegt ihr das noch rein, dass die Datei zum Abschluss an eine bestimmte Stelle kopiert wird z.B. d:\daten
Bitte warten ..
Mitglied: Biber
18.04.2008 um 11:04 Uhr
Moin, tegee08,

dann könntest Du die ursprüngliche Variante mit der Variablen %Aus5 wieder beleben.

01.
... 
02.
set "Ein=c:\test.txt" 
03.
set "AusDir=D:\Daten" 
04.
.... 
05.
.... 
06.
cscript //nologo "%Cvt%" 
07.
copy /y "%ein%" "%AusDir%\"
Wenn es denn wirklich ein Kopieren soll.
Du könntest sonst -IMHO besser- lieber das Original unverändert lassen und die Kopie gleich in D:\Daten ablegen.

Grüße
Biber
Bitte warten ..
Mitglied: tegee08
18.04.2008 um 13:38 Uhr
ja, danke für den Gedankenanstoß, das mit dem Original mache ich aus so

vielen dank für alles, hat mir sehr geholfen
Bitte warten ..
Ähnliche Inhalte
Ubuntu
Nach Zeilen aus der ersten Textdatei in der zweiten Textdatei suchen und diese dort entfernen
gelöst Frage von takitanoUbuntu3 Kommentare

Frohes Neues an alle! Ich habe 2 Textdateien. Die erste Textdatei beinhaltet Suchbegriffe, die ich in der zweiten Datei ...

VB for Applications
VBS-Entfernen von Zeilen in einer Textdatei
Frage von Calim3roVB for Applications5 Kommentare

Hallo zusammen Ich möchte aus einer Textdatei Zeilen entfernen. Ich habe drei Dateien, in Datei "A" stehen Wörter, in ...

Batch & Shell
Batch um erste Zeile einer CSV zu löschen
gelöst Frage von chris1987.1Batch & Shell6 Kommentare

Hallo, im Rahmen meiner Masterarbeit muss ich eine Vielzahl von csv Dateien untersuchen. Hierbei muss ich einige dieser Dateien ...

Batch & Shell
Per Batch erste 15 Zeichen in jeder Zeile einer Textdatei lassen. Den Rest - löschen. Wie?
gelöst Frage von takitanoBatch & Shell9 Kommentare

Hallo an alle, ich habe folgendes Problem: in einer Texdatei habe ich ca. 60.000.000 Zeilen (453 MB) Jede Zeile ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter wieder installieren auf einer frischen Windows-Installation

Tipp von Lochkartenstanzer vor 12 StundenMicrosoft Office

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 14 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 15 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 18 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware11 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...