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 Bestimmtes Zeichen durch Seitenumbruch ersetzen per Batch

Mitglied: MarkusLB

MarkusLB (Level 1) - Jetzt verbinden

18.03.2011 um 16:45 Uhr, 9272 Aufrufe, 9 Kommentare

Da ich hier neu bin erstmal an alle: Hallo zusammen.

Leider hat mir die bisherige Suche in diesem Forum nicht weitergeholfen, daher meine Frage:

Ich habe eine csv-Datei, in der leider alle Einträge nur per [] getrennt sind, sofern ich diese per Editor aufrufe. Dieses [] möchte ich gerne durch einen Seitenumbruch ersetzen, damit jeder Eintrag als eigene Zeile angezeigt wird.
Wie mache ich das?

Hinweis: Ich kann die Datei nicht mit Excel o.ä. aufrufen und speichern, da die Konvertierung nachts automatisch geschehen soll, damit die Datei nachts von einem anderen System weiterverarbeitet werden kann.

Aufbau der Datei:
Spalte1,Spalte2,Spalte3[]Spalte1,Spalte2,Spalte3[] usw.

Ich habe schonmal was programmiert, aber das funktioniert leider nicht, da ich den String nicht kenne.

echo Setzen der Variablen
set "filename1=Datei1.csv-*"
set "filename2=Datei1-org.csv"
set "filename3=Datei1-bearb.csv"
set "filename4=Datei1.csv"

echo Fuege Seitenumbrueche ein

setlocal enabledelayedexpansion

for /F "delims=" %%a in (%filename2%) do (
set text=%%a
set text=!text:^[]=XXX! <- was muss ich für das XXX einsetzen?
echo !text!>>%filename3%
)
Mitglied: bastla
18.03.2011 um 17:08 Uhr
Hallo MarkusLB und willkommen im Forum!

Sofern es keine heftigen Einwände gegen VBScript gibt, würde ich in diesem Fall darauf zurückgreifen (dann klappt's zB auch mit richtig großen Dateien):
01.
Ein = "Datei1-org.csv" 
02.
Aus = "Datei1.csv" 
03.
 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
fso.CreateTextFile(Aus).Write Replace(fso.OpenTextFile(Ein).ReadAll, "[]", vbCrLf)
Bei Bedarf lassen sich die Dateinamen auch als Parameter übergeben ...

Es werden übrigens durch dieses Script Zeilen-, nicht Seitenümbrüche eingefügt ...

Grüße
bastla
Bitte warten ..
Mitglied: jeb-the-batcher
18.03.2011 um 19:43 Uhr
Hallo MarkusLBS,

oder einfach
01.
set text=!text:^[]=^ 
02.
 
03.
!
Die Leerzeile ist wichtig (sollte auch wirklich leer sein).

Klappt aber auch nur, wenn die Zeilen nicht zu lang sind (max ~8192 Zeichen)

Gruß
jeb
Bitte warten ..
Mitglied: Itow15
14.04.2011 um 11:09 Uhr
Hallo Zusammen ;)

Ich hoffe ihr und besonders jeb-the-batcher könnt mir auch erfolgreich helfen.

Aufgabe:

Eine txt-Datei Zeilenweise einlesen und bestimmte Zeichen löschen bzw. durch ein Absatz(Enter) ersetzen.

Inhalt der neu.txt:

b 28 xyz b 38 xyz b 48 xyz
b 28 xyz b 38 xyz b 48 xyz
b 28 xyz b 38 xyz b 48 xyz

Das soll dann in der test.txt wie folgt aussehen:

xyz
xyz
xyz
xyz
usw.…

Quasi alles schön untereinander anstatt nebeneinander
Hier nun mein Lösungsansatz (den ich mir zusammen kopiert habe …)

01.
  
02.
@ECHO 
03.
SETLOCAL enabledelayedexpansion 
04.
 
05.
SET "quell_datei=neu.txt" 
06.
SET "ziel_datei=test.txt" 
07.
 
08.
REM Loeschen der Ausgabedatei, falls sie (noch) existiert 
09.
IF EXIST %ziel_datei% (DEL /f %ziel_datei% 1>NUL 2>NUL) 
10.
 
11.
REM Quell-Datei zeilenweise auslesen 
12.
REM und in Variable "zeile" schreiben 
13.
FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO ( 
14.
SET zeile=%%i& CALL :ersetzen !zeile!) 
15.
GOTO :weiter 
16.
:ersetzen 
17.
SET zeile=!zeile:b 28 =! 
18.
SET zeile=!zeile:b 38 =! 
19.
SET zeile=!zeile:b 48 =! 
20.
SET zeile=!zeile:^ =^ 
21.
 
22.
23.
 
24.
REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben 
25.
IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%) 
26.
GOTO :eof 
27.
 
28.
:weiter 
29.
 
30.
pause
Das funktioniert soweit auch alles ganz gut die b 28 , b38 und b 48 werden entfernt nur wenn es daran geht das Leerzeichen durch ein Zeilenumbruch(Enter) zu ersetzen löscht er alle Leerzeichen so das alles zusammen steht

Ich hoffe ihr könnt mir helfen ich bin hier schon fast am Verzweifeln und bedanke mich bei jeden der mir weiter helfen kann

Gruss Itow
Bitte warten ..
Mitglied: jeb-the-batcher
14.04.2011 um 11:24 Uhr
Hallo Itow,

ich denke schon, dass das Problem lösbar ist, allerdings solltest du erst mal eine neue Frage daraus machen(ist ja auch eine andere Frage als vorher), sonst sehen nur die Leute den Thread die dir beim ersten mal geantwortet haben

jeb
Bitte warten ..
Mitglied: 99045
14.04.2011 um 11:25 Uhr
Hallo,

mit einer Leerzeile kannst du keinen Seitenvorschub erzeugen. Aber mach dir nichts draus, jtb hat immer solche irren Vorschläge.

Das Steuerzeichen für Seitenvorschub ist ^L (STRG-L). Ab besten änderst du deine Textdatei mit einem Editor, der dir die Eingabe von Steuerzeichen ermöglicht.
Vielleicht hat ja bastla eine bessere Lösungsmöglichkeit mit VBscript parat.


Gruß
Bitte warten ..
Mitglied: bastla
14.04.2011 um 11:31 Uhr
@99045
Wenn doch jedes "xyz" (von dem wir allerdings sehr wenig wissen, insbes, ob es selbst Leerzeichen enthält) in eine neue Zeile soll, wäre ja
for %%i in (!zeile!) do >>%ziel_datei% echo %%i
der einfachste Ansatz ...
Aus "sportlichen Gründen" verzichte ich (vorläufig ) auf VBS ...

Grüße
bastla

P.S.: @--Itow--
Willkommen im Forum! Falls der Ansatz noch nicht genügt, unterstütze ich jebs Vorschlag, einen neuen Thread zu beginnen ...
Bitte warten ..
Mitglied: jeb-the-batcher
14.04.2011 um 11:45 Uhr
Zitat von 99045:
mit einer Leerzeile kannst du keinen Seitenvorschub erzeugen. Aber mach dir nichts draus, jtb hat immer solche irren
Vorschläge.

@99045

Er hat es auch nicht mit einem Leerzeichen versucht.

01.
SET zeile=!zeile:^ =^ 
02.
 
03.
!
Ersetzt offensichtlich Leerzeichen durch Zeilenvorschübe.

jeb
Bitte warten ..
Mitglied: 99045
14.04.2011 um 11:47 Uhr
@jtb
Verschone mich bitte zukünftig mit deinen geistigen Ergüssen und verteile deine Gunst bitte an andere, ja?
Danke.
Bitte warten ..
Mitglied: Itow15
14.04.2011 um 11:51 Uhr
Vielen vielen Dank euch es funktioniert ich bin so glücklich xD

Besondere Dank geht an bastla ;)

habe einfach

IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%)

mit

for %%i in (!zeile!) do >>%ziel_datei% echo %%i

ersetzt und schon funktioniert es da wäre ich nie drauf gekommen

vielen vielen dank

Gruß Itow

/edit

habe auch die

SET zeile=!zeile:^ =^

!

entfernt hat ich in der aufregung vergessen nochmal danke ;)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Tilde Zeichen per Batch ersetzen
gelöst Frage von Blackhawk386Batch & Shell6 Kommentare

Hi! Ich habe eine Datei in Textform, in der Umlaute per Batch umgewandelt werden müssen. Dazu habe ich hier ...

Batch & Shell

In txt file an bestimmter Position zeichen ersetzen, Ideen ?

gelöst Frage von buliwyfBatch & Shell7 Kommentare

EIn freundl. Hallo all ;-) mein Anliegen was mich jetzt 2 Tage beschaeftigt ist : wie kann ich in ...

Batch & Shell

Per Batch Zeichen in Textdatei durch zeilenumbruch ersetzen

Frage von CreamyCewieBatch & Shell3 Kommentare

Hallo, ich habe folgende textdatei (test.txt) "þUEBERþNþSKZþBELþVARTþ3þaaþ5 þacþL þadþ20150385#umbr# UEBERþNþBELDATER" ich brauche nun ein Batch-Script welches mir die gesamte TXT-Datei ...

Batch & Shell

Bestimmte Zeichen per Batch aus Dateinamen entfernen

gelöst Frage von wollebeeBatch & Shell6 Kommentare

Ich bekomme Dateien, bei denen ich automatisch per Batch den Dateinamen ändern möchte. Nun besteht der erste Teil des ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 TagenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 3 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 3 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement17 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android13 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware12 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...