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
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, 57599 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?

MfG 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

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 ...

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

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(2)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Windows 10
Windows 10 Ordnerfreigabe (15)

Frage von Xaero1982 zum Thema Windows 10 ...

Monitoring
Netzwerk-Monitoring Software (15)

Frage von Ghost108 zum Thema Monitoring ...