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

Batch zum kopieren ersetzen von Text in xml Datei

Frage Entwicklung Batch & Shell

Mitglied: BustedDice

BustedDice (Level 1) - Jetzt verbinden

07.11.2013, aktualisiert 22:34 Uhr, 4277 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:
01.
(for /f "tokens=2delims=<>" %%a in (file.xml) do echo(%%a)>file.txt
zur zweiten fehlen noch Infos, wie das Ersetzen erfolgen soll.
lg.
Bitte warten ..
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
Bitte warten ..
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.
Bitte warten ..
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
Bitte warten ..
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:
    <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>
dann geht die Batch so:
01.
@ECHO OFF &SETLOCAL 
02.
(for /f "tokens=3delims=<>" %%a in (file.xml) do echo(%%a)>out.txt
und die zweite so:
01.
@ECHO OFF &SETLOCAL 
02.
for /f "tokens=1*delims=:" %%a in ('findstr /n "^" file.txt') do set "$%%a=%%b" 
03.
(for /f "tokens=1-3,5delims=:<>" %%a in ('findstr /n "^" file.xml') do ( 
04.
	SETLOCAL ENABLEDELAYEDEXPANSION 
05.
	echo(%%b^<%%c^>!$%%a!^<%%d^> 
06.
	endlocal 
07.
))>out.xml
lg.
Bitte warten ..
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>
Bitte warten ..
Mitglied: Endoro
10.11.2013 um 22:09 Uhr
Hi, das macht die zweite Batch von heut früh
lg.
Bitte warten ..
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 ;)
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

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

Microsoft
gelöst Subnetting: In welchem Subnetz befindet sich die IP? (12)

Frage von winler zum Thema Microsoft ...