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, 4337 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
XML
gelöst Xml-Datei in eine csv-Datei umwandeln mit Powershell (5)

Frage von jan.kleinel zum Thema XML ...

Batch & Shell
gelöst Batch - IF - mehr als eine Datei eines bestimmten Typs (9)

Frage von zimbosmurf zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
gelöst NTFS und die Defragmentierung (29)

Frage von WinLiCLI zum Thema Windows Systemdateien ...