Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 8121 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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