Erstellen einer Batch datei - ersetzen-löschen von zeichen in einer Textdatei
Ich brauch möchte eine Batchdatei programmieren so das diese Datei eine Textdatei modifiziert.
Hab folgendes Problem:
ich hab viele txt Dateien und muss bestimmte sachen aus dieser Datei ersetzten/Löschen.
Hier ein Beispielzeile:
So sieht die Zeile aus:
U CN=Vivek;Chadha/OU=Extern/OU=Systeme/O=BWILV1:: Vivek;Chadha/Extern/Systeme/BWILV,
so soll Sie dann später aussehen:
U CN=Vivek;Chadha,OU=Extern,OU=Systeme,O=BWILV1:: Vivek;Chadha
Also sollen diese Sachen ersetzt werden:
/OU --> ,OU
/O --> ,O
/Extern/Systeme/BWILV --> ganz weg
Leider kenn ich mich in der Windows- und Programmierwelt nicht so gut aus.
Hoffe Ihr verstehst was ich meine.
Danke im Voraus für deine Hilfe!
Vivek
Hab folgendes Problem:
ich hab viele txt Dateien und muss bestimmte sachen aus dieser Datei ersetzten/Löschen.
Hier ein Beispielzeile:
So sieht die Zeile aus:
U CN=Vivek;Chadha/OU=Extern/OU=Systeme/O=BWILV1:: Vivek;Chadha/Extern/Systeme/BWILV,
so soll Sie dann später aussehen:
U CN=Vivek;Chadha,OU=Extern,OU=Systeme,O=BWILV1:: Vivek;Chadha
Also sollen diese Sachen ersetzt werden:
/OU --> ,OU
/O --> ,O
/Extern/Systeme/BWILV --> ganz weg
Leider kenn ich mich in der Windows- und Programmierwelt nicht so gut aus.
Hoffe Ihr verstehst was ich meine.
Danke im Voraus für deine Hilfe!
Vivek
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113098
Url: https://administrator.de/forum/erstellen-einer-batch-datei-ersetzen-loeschen-von-zeichen-in-einer-textdatei-113098.html
Ausgedruckt am: 16.02.2025 um 17:02 Uhr
8 Kommentare
Neuester Kommentar
doch, aber wie Ich schrieb gibts die Tools bestimmt auch für Windows
http://lmgtfy.com/?q=sed+f%C3%BCr+windows
http://lmgtfy.com/?q=sed+f%C3%BCr+windows
Hallo vivekc und willkommen im Forum!
Auch ich kann mich dem Vorschlag, "sed" zu verwenden, durchaus anschließen ...
... aber falls es doch ein Batch (mit etwas VBScript "verfeinert") sein soll, dann etwa so:
Bitte beim Testen etwas vorsichtig sein (Kopien verwenden), da "in der Datei" (ohne Erstellung einer Sicherungskopie) ersetzt wird.
Für "/OU" nach ",OU" sollte es übrigens genügen, "/O" durch ",O" (da das ja ohnehin benötigt wird) zu ersetzen.
Grüße
bastla
Auch ich kann mich dem Vorschlag, "sed" zu verwenden, durchaus anschließen ...
... aber falls es doch ein Batch (mit etwas VBScript "verfeinert") sein soll, dann etwa so:
@echo off & setlocal
set "Ordner=D:\Ordner mit vielen Textfiles"
set "Typ=txt"
set R=%temp%\ReplaceIt.vbs
>%R% echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll
>>%R% echo fso.CreateTextFile(F,True).Write Replace(Replace(T,"/O",",O"),"/Extern/Systeme/BWILV","")
for %%i in ("%Ordner%\*.%Typ%") do cscript //nologo %R% "%%i"
Für "/OU" nach ",OU" sollte es übrigens genügen, "/O" durch ",O" (da das ja ohnehin benötigt wird) zu ersetzen.
Grüße
bastla
Hallo vivekc!
Dann wäre ein zusätzliches "Replace" fällig (bzw bei noch mehr Änderungen eine andere Vorgangsweise):
Grüße
bastla
P.S.: Darf ich Dich für das Posten von Code auf die entsprechende hinweisen ...
Dann wäre ein zusätzliches "Replace" fällig (bzw bei noch mehr Änderungen eine andere Vorgangsweise):
>>%R% echo fso.CreateTextFile(F,True).Write Replace(Replace(Replace(T,"/O",",O"),"/Extern/Systeme/BWILV","")"/Systeme/BWILV","")
bastla
P.S.: Darf ich Dich für das Posten von Code auf die entsprechende hinweisen ...