Set zuweisen von Sonderzeichen
Zuerst ein freundliches Hallo hier ans Forum.
Der Beitrag Suchen und Ersetzen hat mir geholfen. Klappt wunderbar.
Dafür Danke.
Ich will in einer html Datei mit einem Batch einen Anker ändern.
Für eine eindeutige Identifizierung muss ich
erkennen
a) ich weiß nicht ob und wie ich eine Wildcard (*) in der set Anweisung setzen kann
b) ich scheitere auch an den Zeichen
Mir wäre schon geholfen wenn ich folgendes erkennen könnte
das würde ich dann
Ich habe bereits Escape-Sequenzen probiert - aber ohne Erfolg.
In Notepad++ verwende ich bei Suchen
Ersetze mit
Wie bringe ich dies in einen Batch auf Windows 10?
Der Beitrag Suchen und Ersetzen hat mir geholfen. Klappt wunderbar.
Dafür Danke.
Ich will in einer html Datei mit einem Batch einen Anker ändern.
href="ofb4k1.html">
Für eine eindeutige Identifizierung muss ich
//set suchen="a href="ofb4k123.html">"//
a) ich weiß nicht ob und wie ich eine Wildcard (*) in der set Anweisung setzen kann
b) ich scheitere auch an den Zeichen
//=">//
// set suchen=a href="ofb4k //
// set ersetzen=a ="ofb3m //
Ich habe bereits Escape-Sequenzen probiert - aber ohne Erfolg.
In Notepad++ verwende ich bei Suchen
// a href="ofb4k(.*?).html">//
// a>//
Wie bringe ich dies in einen Batch auf Windows 10?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 581574
Url: https://administrator.de/forum/set-zuweisen-von-sonderzeichen-581574.html
Ausgedruckt am: 15.03.2025 um 06:03 Uhr
12 Kommentare
Neuester Kommentar
Die Escape Sequenzen sollten jedoch funktionieren. Wie lautete Deine Zeile dann?
Theoretisch so:
Du kannst dir jedoch der Einfachheit halber Variablen bauen
Hab schon lange nicht mehr codiert, evtl muss es auch ein % Zeichen sein.
Theoretisch so:
set suchen="a href=\"ofb4k123.htm\l">"
Du kannst dir jedoch der Einfachheit halber Variablen bauen
$suchstring= "a href=\"ofb4k123.htm\l">"
set suchen = $suchstring
Hab schon lange nicht mehr codiert, evtl muss es auch ein % Zeichen sein.
Servus.
zu a)
arbeite mit findstr und einem FOR-Loop wenn du Wildcards einsetzen willst, das unterstützt rudimentäre Regex-Ausdrücke.
An deiner Stelle würde ich aber direkt die Powershell dafür nehmen da geht sowas rucki zucki und man muss sich nicht den Hals verbiegen.
zu b).
Hier reicht es einfach das ganze Konstrukt in Anführungszeichen zu setzen
Ansonsten kannst du in den meisten Fällen Sonderzeichen mit ^ escapen
Ist hier aber nicht nötig wenn du den ganzen Ausdruck in Anführungszeichen setzt.
Siehe auch
https://www.dostips.com/?t=Snippets.Escape
Grüße Uwe
zu a)
arbeite mit findstr und einem FOR-Loop wenn du Wildcards einsetzen willst, das unterstützt rudimentäre Regex-Ausdrücke.
An deiner Stelle würde ich aber direkt die Powershell dafür nehmen da geht sowas rucki zucki und man muss sich nicht den Hals verbiegen.
(Get-Content 'D:\datei.html' -raw) -replace '(?<=a href=")([^"]+)','neuerlink.html' | Set-Content 'D:\datei_neu.html'
zu b).
Hier reicht es einfach das ganze Konstrukt in Anführungszeichen zu setzen
set "Suchen3=a href="
set "Suchen3=a href^="
Siehe auch
https://www.dostips.com/?t=Snippets.Escape
Grüße Uwe
@echo off
set "file=D:\test.html"
powershell -EP Bypass -C "(Get-Content '%file%') -replace '<a href=\""of[^>]+>([^<]*)</a>','$1' | set-content '%file%'"
Zitat von @Otto54:
nach dem Batch zeigt sich die Zeile mit der vorherigen Anweisung so:
So wars gedacht.nach dem Batch zeigt sich die Zeile mit der vorherigen Anweisung so:
//<a href="pfb4k38.html">«08»</a>//
Ich benötige aber die Zeile ohne href
//<a ="pfb4k38.html">«08»</a>//
Warum du das so haben willst bleibt mir ein Rätsel, Standardkonform ist das nicht...
Da kein href vorhanden ist, zeigt der Browser nur «08» an.
Warum nicht dann nicht gleich den a Tag löschen und nur den Inhalt stehen lassen?? Das wäre auch kein Thema.wie passe ich den Befehl an um Leerzeichen und " zu vermeiden.
Hatte ich einen Tippfehler, aber da du ja sowieso die Entfernung des Ankers bevorzugst wie ich auch empfohlen habe, s. u.oder zugegeben besser diesen Anker ganz weg.
Siehe dazu die Anpassung im Code oben.Beispiel vorher
<a href="ofb4k73.html">Whatever comes here</a>
Whatever comes here
Viel Erfolg
Grüße Uwe
Schön wenn es dir hilft
.
Wenn es das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.
Wenn es das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.