gelöst Batch zum kopieren ersetzen von Text in xml Datei

Mitglied: BustedDice

BustedDice (Level 1)

07.11.2013, aktualisiert 22:34 Uhr, 5959 Aufrufe, 8 Kommentare, 1 Danke

Hallo zusammen brauch Hilfe bei zwei Batch Dateien.Der erste Batch soll in einer .xml Datei den Text zwischen > und < kopieren und wenn möglich in eine .txt Datei schreiben.Der zweite Batch soll den Text zwischen > und < ersetzen die Batch Datei sollte den Text zum ersetzen aus eine .txt auslesen.

Original xml z.b:

<string name="action_paste">Paste</string>
<string name="action_refresh">Refresh</string>
<string name="action_search">Search</string>
<string name="action_share">Share</string>
<string name="action_rename">Rename</string>
<string name="action_details">Details</string>

Fertige xml z.b:

<string name="action_paste">Einfügen</string>
<string name="action_refresh">Aktualisieren</string>
<string name="action_search">Suchen</string>
<string name="action_share">Share</string>
<string name="action_rename">Umbenennen</string>
<string name="action_details">Details</string>


Danke für jede Hilfe ;)
Mitglied: Endoro
08.11.2013 um 01:00 Uhr
Hi,
die erste Batch:
zur zweiten fehlen noch Infos, wie das Ersetzen erfolgen soll.
lg.
Mitglied: BustedDice
09.11.2013 um 13:47 Uhr
Okay leider passt die Batch Datei noch nicht ganz bei mir sieht die .txt dann so aus:

C:\Users\Windows7\Desktop>echo(Paste
Paste

C:\Users\Windows7\Desktop>echo(Refresh
Refresh

C:\Users\Windows7\Desktop>echo(Search
Search

C:\Users\Windows7\Desktop>echo(Share
Share

C:\Users\Windows7\Desktop>echo(Rename
Rename

C:\Users\Windows7\Desktop>echo(Details
Details

Aber sollte so aussehen:

Paste
Refresh
Search
Share
Rename
Details
Mitglied: Endoro
09.11.2013 um 23:37 Uhr
Hi,
das ist ja kein Programm, sondern ein Code-Fragment. Schreib einfach @echo off &setlocal drüber
lg.
Mitglied: BustedDice
10.11.2013 um 07:22 Uhr
Okay aber dann sieht die .txt so aus:

string name="action_paste"
string name="action_refresh"
string name="action_search"
string name="action_share"
string name="action_rename"
string name="action_details"

Aber so sollte es sein:

Paste
Refresh
Search
Share
Rename
Details
Mitglied: Endoro
10.11.2013 um 09:43 Uhr
Hi,
das wäre möglich, wenn in deiner xml führende Leerzeichen sind. Das kann ich nur sehen, wenn du deinen Text richtig taggst:
dann geht die Batch so:
und die zweite so:
lg.
Mitglied: BustedDice
10.11.2013 um 19:05 Uhr
Danke der Batch geht:

@ECHO OFF &SETLOCAL
(for /f "tokens=3delims=<>" %%a in (file.xml) do echo(%%a)>out.txt

Ist es möglich die erhaltene .txt Datei die jetzt so aussieht zu übersetzen und dann wieder an die xml einzufügen?

Die erhaltene .txt Datei:
Paste
Refresh
Search
Share
Rename
Details

Nach den Übersetzen:
Einfügen
Aktualisieren
Suchen
Share
Umbenennen
Details

So soll die Fertige .xml Datei aussehen:
<string name="action_paste">Einfügen</string>
<string name="action_refresh">Aktualisieren</string>
<string name="action_search">Suchen</string>
<string name="action_share">Share</string>
<string name="action_rename">Umbenennen</string>
<string name="action_details">Details</string>
Mitglied: Endoro
10.11.2013 um 22:09 Uhr
Hi, das macht die zweite Batch von heut früh
lg.
Mitglied: BustedDice
11.11.2013 um 16:47 Uhr
Achso okay stimmt Danke an Endoro für die Hilfe hat mir echt viel Zeit erspart ;)
Titel: Batch zum kopieren ersetzen von Text in xml Datei
Content-ID: 221424
Art des Inhalts: Frage
Ausgedruckt am: 02.04.2020 um 11:29:58 Uhr
URL: https://administrator.de/contentid/221424