Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Mit Batch XML Tags ergänzen

Frage Entwicklung Batch & Shell

Mitglied: ganzbaf

ganzbaf (Level 1) - Jetzt verbinden

28.05.2009, aktualisiert 15:15 Uhr, 3710 Aufrufe, 2 Kommentare

Servus beinand,

Ich möchte gerne mit Native Batch Befehlen alle XML-Dateien in einem Verzeichnis folgendermaßen ergänzen:
Aus:
01.
<header> 
02.
</header> 
03.
<record> 
04.
</record> 
05.
<record> 
06.
</record> 
07.
<footer> 
08.
</footer>
soll werden:
01.
<header> 
02.
</header> 
03.
<body> 
04.
<record> 
05.
</record> 
06.
<record> 
07.
</record> 
08.
</body> 
09.
<footer> 
10.
</footer>
Bisher bin ich soweit:

01.
@echo off & setlocal enableDelayedExpansion 
02.
for %%i In (%BASE_DIR%\input\*.xml) do ( 
03.
rem Zeile </header> finden 
04.
for /f "delims=:" %%s in ('findstr /r /i /n "$\/header\>" %%i') do if not defined Zeile set Zeile=%%s 
05.
echo %%~ni: Zeile %Zeile% >> %BASE_DIR%\LOG\Zeile.txt 
06.
rem Zeile danach einsetzen 
07.
rem Zeile <footer> finden 
08.
rem Zeile davor einsetzen 
09.
)
Kann mir bitte jemand sagen, ob ich auf dem richtigen Weg bin. Insbesondere würde mich interessieren, wo mein Suchausdruck falsch ist, weil mein Zeilen-Log immer leer bleibt.

Für ernstgemeine Batch-Schnipsel bin ich immer dankbar.

Gruß, Ganzbaf
Mitglied: LotPings
28.05.2009 um 15:49 Uhr
Hallo Ganzbaf,

das $ Zeichen steht in einer RegEx für das Zeilenende und macht in deinem Findstr kiene Sinn.

Ausserdem kannst due in einem CMd Fenster die Befehle manuell testen bevor du sie in einem Batch einbaust.
Die Environment Variablen in deiner Zeile 02 hast du schon ausserhalb der Batch datei gesetzt?

Gruß
LotPings
Bitte warten ..
Mitglied: ganzbaf
28.05.2009 um 16:42 Uhr
Hallo,

Also die Umgebungsvariablen habe ich schon vorher gesetzt und das $-zeichen habe ich rausgenommen. (hatte geglaubt, das passt, weil ich am Zeilenende suche)

Damit wäre der Batch jetzt so:

01.
@echo off & setlocal enableDelayedExpansion 
02.
set BASE_DIR=D:\TEST 
03.
for %%i In (%BASE_DIR%\input\*.xml) do ( 
04.
rem Zeile </header> finden 
05.
set Zeile= 
06.
for /f "delims=:" %%s in ('findstr /r /i /n "\/header\>" "%%i"') do if not defined Zeile set Zeile=%%s 
07.
echo %%~ni: Zeile %Zeile% >> %BASE_DIR%\LOG\Zeile.txt 
08.
rem Zeile danach einsetzen 
09.
rem Zeile <footer> finden 
10.
rem Zeile davor einsetzen


Wenn ich am Prompt
01.
for /f "delims=:" %s in ('findstr /r /i /n "\/header\>" %BASE_DIR%\INPUT\ABC.XML') do if not defined Zeile set Zeile=%s
eingebe, wird die richtige Zeilennummer für die Datei zurückgegeben.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
XML in CSV bat batch powershell (9)

Frage von nolle99 zum Thema Batch & Shell ...

C und C++
Parsen eines Wertes zwischen zwei Tags (c++, xml) (1)

Frage von peterpa zum Thema C und C ...

Batch & Shell
Stapelverarbeitung XML-Datein (1)

Frage von 132015 zum Thema Batch & Shell ...

Batch & Shell
Script zum XML Datei Umschreiben (12)

Frage von cberndt zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Monitoring
Netzwerk-Monitoring Software (16)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Windows 10 Ordnerfreigabe (15)

Frage von Xaero1982 zum Thema Windows 10 ...