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
GELÖST

Per Batch ein Wort in Einer Textdatei gegen ein anderes ersetzen

Frage Entwicklung Batch & Shell

Mitglied: Bjoern909

Bjoern909 (Level 1) - Jetzt verbinden

16.02.2008, aktualisiert 18.10.2012, 49720 Aufrufe, 4 Kommentare

Hallo!
Ich bin auf der suche nach einem Befehl für eine Batch dstei mit dem man Ein Wort in einer Text datei gegen ein anderes ersetzen kann.

Sagen wir erst sieht die Text datei so aus:
Von Bjoern:
Hallo!

und danach soll sie so aussehen:
(Von) Bjoern:
Hallo

also das Von gegen ein (Von) ersetzen.
Ich habe mich natürlich schon im Forum umgeschaut, habe aber nur bei diesem Beitrag hier: http://www.administrator.de/frage/per-batchdatei-textdateien-bearbeiten ...
etwas gefunden.
jedoch funktioniert der Befehl sed nicht. Wie muss ich das verstehen? Ich habe den Befehl sed schon öfters hier gesehen aber für welche Programmiersprache braucht man sed denn?

Mit freundlichen Grüßen Bjoern
Mitglied: miniversum
16.02.2008, aktualisiert 18.10.2012
Das dort verwendete sed ist ein Befehl unter Linux.
Es gibt aber auch diese Linuxkomandos als Programme unter Windows, die man dann extra runterladen kann.
Wi ees Rein mit Windows Boardmitteln geht ist z.B. hier gezeigt:
http://www.administrator.de/forum/in-einer-textdatei-das-zeichen-und-er ...

Prinzipiell steht alles in der Hilfe vom set befehl (set /?)

Das funktioniert allerdings nur so leicht bei normalen Asci Text Dateien. Sobalt andere Zeichen enthalten sind die über den normalen Zeichensatz hinausgehen wird das damit schwierig und sollte getestet werden.

miniversum
Bitte warten ..
Mitglied: Bjoern909
16.02.2008 um 11:58 Uhr
Nehmen wir mal das Beispiel aus dem Link:
Wenn in der Textdatei

GmbH & Co.KG

steht, steht nach dem Benutzen der Batchdatei da nur noch:

GmbH Co.KG

sagen wir mal ich möchte statt dem & ein Und da stehen haben ... und nicht das & köschen.
Oder ich verstehe das nicht was da steht.
Vielleicht könntet ihr mir ja auch den gesamten verbesserten Code geben falls ich was vergessen habe.
Bitte warten ..
Mitglied: miniversum
16.02.2008 um 12:22 Uhr
Allgemein ist die Wichtige Konstruktion diese hier:
%text:zu_ersetzender_text=ersatz_text%
Bzw hier in dem Beispiel:
!text:^&=und!
Wobei das "^" vor dem "&" in diesem Fall nur notwendig ist weil das "&" Zeichen in Batch für was anderes vorgesehen ist und sonst falsch interpretiert werden würde. Bei Normalen Textzeichen (a-z, Zahlen) ist das kein Problem. Bei andern Zeichen kanns sein das es gebraucht wird (%,!,^<>).

Also im konkreten Fall das jedes "&" durch ein "und" ersetzt wird:
01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
 
04.
set "filename=text.txt" 
05.
set "tempfile=tmptxt.txt" 
06.
 
07.
for /F "delims=" %%a in (%filename%) do ( 
08.
set text=%%a 
09.
set text=!text:^&=und!>>%tempfile% 
10.
11.
 
12.
del %filename%
miniversum
Bitte warten ..
Mitglied: Bjoern909
16.02.2008 um 15:17 Uhr
okay klappt... danke für deine Hilfe Miniversum
Du hast mir sehr viel geholfen. langsam schaffe ich es nömlich auch selber For schleifen zu bauen.

Bjoern
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 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 ...