bladecom31
Goto Top

Sonderzeichen aus XML Löschen per batch

Hallo zusammen

Ich benötige eure Hilfe …

Wir haben einige XML Dateien, wo immer mal das @ Zeichen vorkommt ..

Gibt es die Möglichkeit diese zu löschen ?
( Nur das @ Zeichen ) per batch

So fange ich an …

FOR /F %%i IN ( ‘findstr /M “@“ D:Ort\*.xml‘)

Wie geht es dann weiter ..

Danke schon mal im Voraus…. schönes WE

Content-ID: 3175755048

Url: https://administrator.de/forum/sonderzeichen-aus-xml-loeschen-per-batch-3175755048.html

Ausgedruckt am: 22.12.2024 um 09:12 Uhr

Endoro
Endoro 25.06.2022 um 18:48:45 Uhr
Goto Top
Man soll eigentlich nach der reinen Lehre XML nicht mit sed bearbeiten, aber damit geht's am schnellsten.

sed "s/@//g" original.xml > korrektur.xml  
bladecom31
bladecom31 25.06.2022 um 18:59:16 Uhr
Goto Top
Danke

Aber es passiert nichts …
Endoro
Endoro 25.06.2022 aktualisiert um 19:28:58 Uhr
Goto Top
Das Ergebnis müsste in "korrektur.xml" stehen.
der Pfad zu sed muss im Pfad der globalen Variablen "PATH=" stehen.
bladecom31
bladecom31 25.06.2022 um 19:30:47 Uhr
Goto Top
Stehe gerade auf dem Schlauch ,wie wäre die komplette Schreibweise der Batch ?

Bildschirm flackert mehr nicht …
Endoro
Endoro 25.06.2022 um 19:44:10 Uhr
Goto Top
Du rufst über die Tastenkombination "Windows X" die Eingabeaufforderung auf. Es öffnet sich ein neues Fenster. Du gibst
sed -h
ein, was passiert?
bladecom31
Lösung bladecom31 25.06.2022 um 19:55:34 Uhr
Goto Top
Es passiert

Der Befehl “sed“ ist entweder falsch
geschrieben oder konnte nicht gefunden werden ….
Endoro
Lösung Endoro 25.06.2022 aktualisiert um 20:09:45 Uhr
Goto Top
Dann ist sed nicht im PATH eingebunden. Du musst sed in deinen Verzeichnissen finden finden und dann etwa so vorgehen:
C:\Pfad-zu-sed.exe\sed "s/@//g" "C:\pfad-zu-origignal.xml\original.xml" > "C:\pfad-zu-origignal.xml\korrektur.xml"  

"C:" durch Deine entsprechenden Partitionen ersetzen.
bladecom31
Lösung bladecom31 25.06.2022 um 20:15:25 Uhr
Goto Top
Ohne der sed.exe funktioniert das nicht ?
Endoro
Lösung Endoro 25.06.2022 um 20:19:07 Uhr
Goto Top
Doch, aber weil ich zu Apple gewechselt bin, habe ich einiges von Batch vergessen.
Aber ich kümmere mich darum und antworte, falls niemand anders mir zuvor kommt face-smile
bladecom31
Lösung bladecom31 25.06.2022 um 20:23:49 Uhr
Goto Top
Dank dir … ohne exe wär es super …
colinardo
Lösung colinardo 25.06.2022 aktualisiert um 21:27:54 Uhr
Goto Top
Servus.
Mit Batch XML-Dateien zu bearbeiten ist keine gute Idee, schon wegen den Encodings etc. pp.
Wenn's sein muss (warum auch immer man keinen Parser benutzen will/kann und man das Risiko von ungültigem XML riskiert) dann doch zumindest mit etwas PowerShell Hilfe innerhalb der Batch
@echo off
powershell -EP Bypass -NoP -C "ls 'D:\Ort' -Filter *.xml | %%{(gc $_.Fullname) -replace '@' | sc $_.Fullname}"  

p.s. unsere Suche liefert dir genau zum Thema hunderte Ergebnisse, wäre ja nicht so als hätte das noch niemand gewollt 😉.

p.s.2. Wenn du das nächste mal die Kategorie eines Beitrags ändern willst musst du nicht extra einen neuen Beitrag erstellen, die Kategorie lässt sich auch nachträglich im Beitrag anpassen.

Grüße @colinardo (Mod)
bladecom31
Lösung bladecom31 25.06.2022 um 21:16:32 Uhr
Goto Top
Servus. zurück

Danke für die Hilfe

Heute ist nicht mein Tag -- ist noch was falsch ?

@echo off
powershell -EP Bypass -C "ls 'D:\BackupHPDatenalt /*.xml | %%{(gc $_.Fullname) -replace '@' | sc $_.Fullname}"
pause

Grüße
colinardo
Lösung colinardo 25.06.2022 aktualisiert um 21:25:05 Uhr
Goto Top
ist noch was falsch ?
Ja. Schau dir mal meinen Pfad an und das was du da fabriziert und die Parameter verwurschtelst hast ...
@echo off
powershell -EP Bypass -NoP -C "ls 'D:\BackupHPDatenalt' -Filter *.xml | %%{(gc $_.Fullname) -replace '@' | sc $_.Fullname}"  
Heute ist nicht mein Tag
Dann hau dich in die Falle und mach es ein anderes mal vernünftig, und beschäftige nicht unötigerweise die Admins hier am Wochenende ... 🙃

P.s. was zum Lesen gegen deine Kopfschmerzen
Powershell Leitfaden für Anfänger
bladecom31
Lösung bladecom31 25.06.2022 um 21:27:20 Uhr
Goto Top
Mensch aber echt man man .. hat funktioniert ...
sorry für meine verwurschtelrei wenn es so ein Wort gibt ...

schönes rest WE ....

Grüße
colinardo
Lösung colinardo 25.06.2022 aktualisiert um 21:31:28 Uhr
Goto Top
Zitat von @bladecom31:
wenn es so ein Wort gibt ...
Immerhin noch ertragbarer als Gendersternchen 🤪
https://de.m.wiktionary.org/wiki/verwurschteln
schönes rest WE ....
U2
Gruß @colinardo
Endoro
Lösung Endoro 28.06.2022 um 23:06:35 Uhr
Goto Top
Ich bin vor Jahren auf Stack Overflow bis zum Goldstatus auf Batch gekommen. Aber die "Sprache" ist absolut oldschool. Es sei denn, der Admin hat Powershell blockiert. Danke @colinardo für die Lösung.

Gruss -Endoro
bladecom31
Lösung bladecom31 29.06.2022 um 06:26:28 Uhr
Goto Top
Danke auch Dir -Endoro für deine Mithilfe.. schönen Tag gewünscht.