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/contentid/3175755048

Printed on: August 31, 2024 at 22:08 o'clock

Endoro
Endoro Jun 25, 2022 at 16:48:45 (UTC)
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 Jun 25, 2022 at 16:59:16 (UTC)
Goto Top
Danke

Aber es passiert nichts …
Endoro
Endoro Jun 25, 2022 updated at 17:28:58 (UTC)
Goto Top
Das Ergebnis müsste in "korrektur.xml" stehen.
der Pfad zu sed muss im Pfad der globalen Variablen "PATH=" stehen.
bladecom31
bladecom31 Jun 25, 2022 at 17:30:47 (UTC)
Goto Top
Stehe gerade auf dem Schlauch ,wie wäre die komplette Schreibweise der Batch ?

Bildschirm flackert mehr nicht …
Endoro
Endoro Jun 25, 2022 at 17:44:10 (UTC)
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
Solution bladecom31 Jun 25, 2022 at 17:55:34 (UTC)
Goto Top
Es passiert

Der Befehl “sed“ ist entweder falsch
geschrieben oder konnte nicht gefunden werden ….
Endoro
Solution Endoro Jun 25, 2022 updated at 18:09:45 (UTC)
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
Solution bladecom31 Jun 25, 2022 at 18:15:25 (UTC)
Goto Top
Ohne der sed.exe funktioniert das nicht ?
Endoro
Solution Endoro Jun 25, 2022 at 18:19:07 (UTC)
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
Solution bladecom31 Jun 25, 2022 at 18:23:49 (UTC)
Goto Top
Dank dir … ohne exe wär es super …
colinardo
Solution colinardo Jun 25, 2022 updated at 19:27:54 (UTC)
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
Solution bladecom31 Jun 25, 2022 at 19:16:32 (UTC)
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
Solution colinardo Jun 25, 2022 updated at 19:25:05 (UTC)
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
Solution bladecom31 Jun 25, 2022 at 19:27:20 (UTC)
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
Solution colinardo Jun 25, 2022 updated at 19:31:28 (UTC)
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
Solution Endoro Jun 28, 2022 at 21:06:35 (UTC)
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
Solution bladecom31 Jun 29, 2022 at 04:26:28 (UTC)
Goto Top
Danke auch Dir -Endoro für deine Mithilfe.. schönen Tag gewünscht.