Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Erstellen einer Batch datei - ersetzen-löschen von zeichen in einer Textdatei

Frage Entwicklung

Mitglied: vivekc

vivekc (Level 1) - Jetzt verbinden

02.04.2009, aktualisiert 15:44 Uhr, 8204 Aufrufe, 8 Kommentare

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
Mitglied: docsam
02.04.2009 um 15:46 Uhr
also ich glaube so Unix-Tools wie grep und awk gibts auch für Windows, das wäre jetzt mein Ansatz -
Bitte warten ..
Mitglied: Wolfsrudel
02.04.2009 um 15:52 Uhr
Wohl eher "sed" ;)
Bitte warten ..
Mitglied: docsam
02.04.2009 um 15:54 Uhr
ja,stimmt den hab ich vergessen.
Bitte warten ..
Mitglied: vivekc
02.04.2009 um 15:57 Uhr
ist sed nicht für UNIX? Brauch was für Windows
Bitte warten ..
Mitglied: docsam
02.04.2009 um 15:59 Uhr
doch, aber wie Ich schrieb gibts die Tools bestimmt auch für Windows
http://lmgtfy.com/?q=sed+f%C3%BCr+windows
Bitte warten ..
Mitglied: bastla
02.04.2009 um 17:16 Uhr
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:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Ordner mit vielen Textfiles" 
03.
set "Typ=txt" 
04.
 
05.
set R=%temp%\ReplaceIt.vbs 
06.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll 
07.
>>%R% echo fso.CreateTextFile(F,True).Write Replace(Replace(T,"/O",",O"),"/Extern/Systeme/BWILV","") 
08.
 
09.
for %%i in ("%Ordner%\*.%Typ%") do cscript //nologo %R% "%%i"
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
Bitte warten ..
Mitglied: vivekc
02.04.2009 um 17:52 Uhr
Super hat geklappt. Danke Bastla !!!

Noch eine frage habe ich aber: Wenn ich jetzt mehrer löschen will.

07. >>%R% echo fso.CreateTextFile(F,True).Write Replace(Replace(T,"/O",",O"),"/Extern/Systeme/BWILV","")

sollte das dann so aussehen?

07. >>%R% echo fso.CreateTextFile(F,True).Write Replace(Replace(T,"/O",",O"),"/Extern/Systeme/BWILV","","/Systeme/BWILV","")

ich hab es mal so versucht und dann war die ganze txt datei leer.
Bitte warten ..
Mitglied: bastla
02.04.2009 um 18:36 Uhr
Hallo vivekc!

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","")
Grüße
bastla

P.S.: Darf ich Dich für das Posten von Code auf die entsprechende Formatierungsmöglichkeit hinweisen ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

VB for Applications
gelöst VBScript: Hexwert durch Zeichen (String) ersetzen (12)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Batch & Shell
Batch Programm verhalten bei shoutdown -p (18)

Frage von Michael-ITler zum Thema Batch & Shell ...

Router & Routing
Freigabe aus anderem Netz nicht erreichbar (15)

Frage von McLion zum Thema Router & Routing ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (12)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...