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

Kombination von Suchen und Ersetzen

Frage Entwicklung Batch & Shell

Mitglied: afrodyte

afrodyte (Level 1) - Jetzt verbinden

27.04.2009, aktualisiert 13:37 Uhr, 4242 Aufrufe, 4 Kommentare

Hallo, Dank der guten Beiträge im Forum habe ich die benäötgten Befehle zum Erstellen einer Batchdatei zum Suchen und Ersetzen von Dateiinhalten bereits gefunden

In einer Datei möchte ich mehrere Werte ersetzen. Dazu gehören auch Anführungszeichen.

1.Zweck: Wert ersetzen
@echo off & setlocal enabledelayedexpansion 
set "Datei=M:\Verzeichnis\datei.txt" 
set "Von=w" 
set "Nach=x" 
set "t=%temp%\datei.tmp" 
if exist "%t%" del "%t%" 
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%Von%=%Nach%! & echo !Line!>>"%t%" 
move /y "%t%" "%Datei%
Diese Befehlskette funktioniert einwandfrei.

2. Zweck: Anführungszeichen entfernen
for /f "delims=" %%i in (datei.txt) do (  
set "line=%%i"  
echo !line:"=! >>daten_ready.txt 
)
Diese Befehlskette funktioniert ebenfalls, wenn ich sie in einer sepraten Batchdatei definiere.
Packe ich sie aber mit den unter 1 genanten Befehlen in eine Datei, werden die Anführungszeichen nicht ersetzt.

Was ist falsch?
Verweise ich nicht korekt auf die bereits geänderte Datei?

Ich freue mich über Hilfe.
Lieben Gruß
afrodyte
Mitglied: Biber
27.04.2009 um 19:45 Uhr
Moin afrodyte,

ich weiss nicht, wieso bei Dir die gepostete zweite (dreizeilig formatierte) Zeile zu funktionieren scheint.
Soweit ich bisher geglaubt hatte herausgefunden zu haben MUSS das zu ersetzende Anführungszeichen im %var:alt=neu% -Befehl mit einem Caret maskiert werden.
Demo am CMD-Prompt
01.
>type text123.txt 
02.
test12 "in gänsefüßchen" ende test12 
03.
test112 "in gänsefüßchen" ende test112 
04.
test112 "in whatever" ende test112 
05.
 
06.
(=19:41:42  D:\temp=) 
07.
>@for /f "delims=" %i in (text123.txt) do @(set "Line=%i" & @echo !line:^"=!) 
08.
test12 in gänsefüßchen ende test12 
09.
test112 in gänsefüßchen ende test112 
10.
test112 in whatever ende test112 
11.
-- und jetzt ohne Caret 
12.
>@for /f "delims=" %i in (text123.txt) do @(set "Line=%i" & @echo !line:"=!) 
13.
Mehr?
Das einzige, was ich hier zeigen wollte ist das [@echo !line:^"=!] in der FOR /F -Anweisung.

Überprüf bitte noch einmal, ob Deine Variante 2 wirklich einwandfrei läuft.

Grüße
Biber
Bitte warten ..
Mitglied: afrodyte
28.04.2009 um 11:37 Uhr
Hi Biber,

die Variante 2 funktioniert nicht. Mit einer Testdatei hatte ich es hingekriegt, aber dann klappte (nach dem Post) nixi mehr.

Kannst du mir bitte, bitte diesen Abschnitt noch einmal so korrigieren, dass er funktionieren müsste:

for /f "delims=" %%i in (datei.txt) do (
set "line=%%i"
echo !line:"=! >>daten_ready.txt
)

Merci und Gruß
afrodyte
Bitte warten ..
Mitglied: Biber
28.04.2009 um 11:49 Uhr
Moin afrodyte,

in etwa so:

01.
@echo off & setlocal 
02.
:: ... 
03.
for /f "delims=" %%i in (datei.txt) do ( 
04.
   set "line=%%i" 
05.
   echo !line:^"=! >>daten_ready.txt 
06.
07.
 
[ eigentlich also nur das Caret ("^") ergänzt ]

Grüße
Biber
Bitte warten ..
Mitglied: afrodyte
28.04.2009 um 16:56 Uhr
Danke Biber

Das war definitiv zu einfach. Jetzt flutscht es wie gewünscht.

Gruß
afrodyte
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Suchen, Ersetzen und Entfernen von Dateiinhalten auf Textbasis (1)

Frage von DanteManor 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 Powershell String Suchen mit Wildcard und Ersetzen (6)

Frage von herrmanndominic zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...