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

Frage Entwicklung Batch & Shell

GELÖST

Per Batch-Job Zeichen einfügen in txt

Mitglied: SimonPeter

SimonPeter (Level 1) - Jetzt verbinden

04.06.2008, aktualisiert 14:05 Uhr, 10320 Aufrufe, 9 Kommentare

Hallo Batch-Experten

Hoffentlich nimmt es mir niemand übel, wenn ich mich anmelde und nichts besseres weiss, als gleich eine Frage zu stellen...

Folgendes Problem, welches ich gerne mit einem Batch Job erledigen würde:

Eine Datei, welche aus einer Applikation in eine txt exportiert wird, muss in jeder Zeile um ein ";" ergänzt werden (Leider ist dieses Manko zur Zeit nicht anders zu beheben)

Der Inhalt sieht in etwa folgendermassen aus:

Datum;Text1;Text2;Text3;Text4;Text5;Text6;Text7;Text8;Text9
02.06.2008;Antwort1;Antwort2;;;Antwort3;;Antwort4;;;;;;;;Antwort5;;;;;;;;;;;;;;;;;;
03.06.2008;Antwort6;Antwort7;;;;;;Antwort8;;;Antwort9;;;;;;;;;;;;;;;;;;
etc...
etc...


Ab der zweiten Zeile muss bei der letzten Sammlung von ";" jeweils eins hinzugefügt werden.
Die Zeilen sind unterschiedlich lang und jeweils durch unterschiedlich viele ";" ergänzt.

Wäre für Tipps und Hinweise sehr dankbar!

Merci aus der Schweiz

Simon
Mitglied: SnowStar
04.06.2008 um 09:35 Uhr
Hallo,

vielleicht hilft dir das hier (ein wenig) weiter:
01.
for /f %i in (test.txt) do @echo %i; >> test_neu.txt
Die test.txt wird Zeilenweise ausgelesen, die ausgelesene Zeile mit einem Semikolon am Ende wieder ausgegeben, diese Ausgabe wird an die test_neu.txt angehängt (sie sollte also am besten noch nicht existieren oder leer sein).

Aber ACHTUNG: Leerzeilen werden übersprungen, d.h. nicht abgebildet. So wird aus:
01.
Dies ist die erste Zeile 
02.
Dies ist die zweite Zeile 
03.
 
04.
Dies ist die vierte Zeile 
05.
Dies ist die fünfte Zeile
das hier:
01.
Dies ist die erste Zeile; 
02.
Dies ist die zweite Zeile; 
03.
Dies ist die vierte Zeile; 
04.
Dies ist die fünfte Zeile;
Hoffe es hilft dir trotzdem!

Gruß
Snow
Bitte warten ..
Mitglied: Biber
04.06.2008 um 10:55 Uhr
Moin SimonPeter,

willkommen im Forum.
Nur ergänzende Anmerkung zu SnowStars Lösung.
a) sicherheitshalber solltest Du noch ein "delims=" ergänzen, da sonst nur bis zum ersten Leerzeichen in der zeile gelesen wird (falls eines da sein sollte)
b) es ist nicht zu ändern, dass Du in eine neue Datei scheiben musst - Du kannst nicht direkt die vorhandene "ändern". Bestenfalls hinterher die "neue Datei" über die "alte Datei" kopieren/moven.
Modifizierter CMD-Prompt-Ansatz:
01.
for /f "delims=" %i in (test.txt) do @echo %i; >> test_neu.txt
P.S. Nachfrage.
Ab der zweiten Zeile muss bei der letzten Sammlung von ";" jeweils eins hinzugefügt werden.
??? Kann ich kaum glauben. Nicht plausibel. Soll die erste Zeile ganz übersprungen werden (nicht in "DateiNeu" ubernommen)??

Grüße
Biber
Bitte warten ..
Mitglied: SimonPeter
04.06.2008 um 12:03 Uhr
Das ist ja der Wahnsinn hier! Vielen Dank für die schnellen Antworten.

@Biber: Die erste Zeile soll so bestehen bleiben wie sie ist (und auch als solche übernommen werden) aber eben nicht geändert, rsp ergänzt mit einem ";"

Merci und Kompliment!

Simon
Bitte warten ..
Mitglied: Biber
04.06.2008 um 12:40 Uhr
Moin SimonPeter,

wenn die erste (Kopf-)Zeile in der *.csv-Datei tatsächlich "richtig" ist und alle Datenzeilen ein Feld zu wenig haben...

a) hau dem "Programmierer" des Datenexports eins auf die Schnauze und sag "Schönen Gruß von Biber"
b) ändere den Ablauf wie folgt.
01.
::-- snipp CsvKorr.cmd 
02.
@echo off & setlocal 
03.
Set /p ersteZeile=<test.txt 
04.
echo %ersteZeile%>test_neu.txt 
05.
for /f "skip=1 delims=" %%i in (test.txt) do @echo %%i;>>test_neu.txt 
06.
>::-- snapp CsvKorr.cmd
Grüße
Biber
[Edit] Bugfix doppeltes %-Zeichen. siehe unten.[/Edit]
[Edit2] Unnötiges Leerzeichen vor dem ">>" entfernt. Siehe bastlas Hinweis unten.[/Edit2]
Bitte warten ..
Mitglied: SimonPeter
04.06.2008 um 13:21 Uhr
"*.csv" --> Bist mein Held!

Eins auf die Schnauze hat er bereits erhalten...

Probiere es asap aus.

Simon
Bitte warten ..
Mitglied: SimonPeter
04.06.2008 um 13:46 Uhr
Error Zeile 5: "i" ist syntaktisch an dieser Stelle nicht verarbeitbar

Was 'n hier los?

Merci!

Simon
Bitte warten ..
Mitglied: Biber
04.06.2008 um 13:49 Uhr
Moin SimonPeter,

Error Zeile 5: "i" ist syntaktisch
Sorry, mein Fehler.
In Batchdateien alle "%i"-Variablen mit 2 %-Zeichen schreiben.
Direkt am CMD-Prompt mit einem %-Zeichen.
ich korrigiere es oben.

Grüße
Biber
Bitte warten ..
Mitglied: SimonPeter
04.06.2008 um 14:05 Uhr
Super, hat geklappt! - Selten ein so engagiertes Forums-Team getroffen!

Vielen, herzlichen Dank. I owe you...

Simon
Bitte warten ..
Mitglied: bastla
04.06.2008 um 14:05 Uhr
... und falls das noch jeweils am Ende angefügte Leerzeichen stören sollte:
01.
... 
02.
for /f "skip=1 delims=" %%i in (test.txt) do @echo %%i;>>test_neu.txt
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Einfügen von Zeichen mit Batch bzw. Powershell
gelöst Frage von adm2015Batch & Shell5 Kommentare

Hallo zusammen, ich hab ein kleines Problem und müsste dies irgendwie mit einem Script lösen, da ich keine 500 ...

Batch & Shell
Via Batch Zeichen in Textzeilen einfügen
gelöst Frage von LuceDeCielloBatch & Shell3 Kommentare

Hallo, ich habe die Lösung für mein Problem schon fast gefunden. Leider verstehe ich die Positionsangaben in dem Skript ...

Batch & Shell
(Batch) festgelegte Zeichen vor und nach Text einfügen
gelöst Frage von unauthorized-userBatch & Shell2 Kommentare

Hallo Community, ich stehe gerade vor einem (wahrscheinlich sehr banalem) Problem und benötige eure Hilfe. Ausgangssituation: Ich habe mehrere ...

Batch & Shell
Zeichen vor den letzten zwei Zeichen einfügen
gelöst Frage von JoachimKunzBatch & Shell3 Kommentare

Hallo Zusammen, ich habe ein kleines Problem und brauche eure Hilfe. Ich habe auf einen SELS 11 System eine ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 2 StundenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 9 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 13 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...