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, 4228 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
VB for Applications
gelöst Xml-Datei laden bzw. auf Festplatte kopieren und per VBA in eine Access-Tabelle speichern (22)

Frage von machohunk zum Thema VB for Applications ...

XML
gelöst XML Datei mit Powershell splitten (2)

Frage von LianenSchwinger zum Thema XML ...

XML
XML Datei Fehler? (1)

Frage von Patrick-IT zum Thema XML ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte