Top-Themen

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 Suchen und Ersetzen per Batch

Mitglied: m8ichael

m8ichael (Level 1) - Jetzt verbinden

16.05.2018 um 20:17 Uhr, 526 Aufrufe, 5 Kommentare

Hallo zusammen,

ich suche eine Lösung, um innerhalb einer Textdatei einen Wert zu suchen und anschließend zu ersetzen. Ich bin dabei auf diese Frage gestoßen:

Alte Frage

01.
@echo off & setlocal enabledelayedexpansion
02.
set "Datei=Test.txt" 
03.
set "t=Temp.tmp" 
04.

05.
set "Suchen1=aaa"
06.
set "Ersetzen1=bbb"
07.
set "Suchen2=ccc"
08.
set "Ersetzen2=ddd"
09.

10.
if exist "%t%" del "%t%"
11.
for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do set "Line=%%i" & call :ProcessLine
12.
move "%t%" "%Datei%"
13.
goto :WEITER_IM_BATCH
14.

15.
:ProcessLine
16.
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"
17.
if not defined L >>"%t%" echo\& goto :eof
18.
set WriteLine1=!L:%Suchen1%=%Ersetzen1%!
19.
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%!
20.
>>"%t%" echo !WriteLine2!
21.
goto :eof
22.

23.
:WEITER_IM_BATCH
24.
.......
Das ganze funktioniert allerdings nur, solange im Such-/Ersetzungstext kein "=" enthalten ist. Ich würde daher oben schon einmal die Suchausdrücke in

01.
set "Suchen1=aaa^^=xyz"
02.
set "Ersetzen1=bbb^^=zyx"
03.
...
ändern, aber das klappt trotzdem noch nicht ganz...

Wie müsste man den Beispielcode abändern? Ich stehe gerade bzgl. des Escapens etwas auf dem Schlauch...

Viele Grüße

Michael
Mitglied: rubberman
LÖSUNG 16.05.2018 um 23:29 Uhr
Wenn immer du Textersetzungen mit Batch vornehmen willst, du das aber einigermaßen idiotensicher tun willst/musst, dann mach es nicht mit Batch Auch andere Sprachen, wie Powershell, bieten dir ein Kommandozeileninterface und lassen sich in Batchscripts einbinden. Ebenfalls möglich sind andere Windows Scripts, wie JScript, verwurstet in diesem Tool:
JREPL.BAT

Steffen
Bitte warten ..
Mitglied: Lochkartenstanzer
17.05.2018, aktualisiert um 08:41 Uhr
Zitat von rubberman:

Wenn immer du Textersetzungen mit Batch vornehmen willst, du das aber einigermaßen idiotensicher tun willst/musst, dann mach es nicht mit Batch Auch andere Sprachen, wie Powershell, bieten dir ein Kommandozeileninterface und lassen sich in Batchscripts einbinden. Ebenfalls möglich sind andere Windows Scripts, wie JScript, verwurstet in diesem Tool:
JREPL.BAT


Oder einfach das richtige Werkzeug dafür nehmen, wie z.B. sed.

lks
Bitte warten ..
Mitglied: rubberman
17.05.2018 um 09:01 Uhr
Natürlich. Abhängig von der Umgebung (3rd party erlaubt/erwünscht, soll on-the-fly auch auf anderen Rechnern laufen etc.).

Steffen
Bitte warten ..
Mitglied: Lochkartenstanzer
17.05.2018 um 10:56 Uhr
Zitat von rubberman:

Natürlich. Abhängig von der Umgebung (3rd party erlaubt/erwünscht, soll on-the-fly auch auf anderen Rechnern laufen etc.).

Das sind Randbedingungen, die man nennen sollte, um zu dem richtigen Lösungsweg zu gelangen.

lks
Bitte warten ..
Mitglied: m8ichael
26.05.2018 um 09:39 Uhr
So, habe das jetzt mit einem Powershell-Befehl gelöst:

01.
Powershell -Command "(Get-Content %datei%).replace('Wert=Alt', 'Wert=neu') | Set-Content %datei%"
Viele Grüße

Michael
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wlan-adapter such algorithmus in batch
gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Exchange Server
Such-Index nach Neuerstellung defekt
Frage von CoverianExchange Server

Guten Morgen zusammen, wir haben hier aktuell ein Problem das mir schlaflose Nächte bereitet. Es handelt sich um einen ...

Video & Streaming

Such möglichkeit metadaten aus avi (bspw. den titel) zu entfernen (als batch file)

Frage von freeuser616Video & Streaming7 Kommentare

hallo zusammen, leider werde ich einfach nicht fündig. ich habe noch einiges an avi Dateien in meiner Sammlung, wo ...

Exchange Server

Exchange-Fehler: 550 No such recipient here

gelöst Frage von GreysonExchange Server3 Kommentare

Hallo administrator.de, habe seit heute an meinem Exchange die Fehlermeldung: #550 No such recipient here Diese Meldung erhalte ich ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 6 StundenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 1 TagWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 3 TagenInternet5 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 3 TagenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless15 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless15 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...

Netzwerkmanagement
Server bauen
Frage von JugendringNetzwerkmanagement11 Kommentare

Moin Moin, wir, der Jugendring sind ein ständig wachsender Verein mit vielen Unterprojekten. Da liegt es nah, dass wir ...