Top-Themen

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

Textdatei (xml) splitten mit vielen Sonderzeichen drin...

Frage Entwicklung Batch & Shell

Mitglied: bufferm44

bufferm44 (Level 1) - Jetzt verbinden

14.05.2009, aktualisiert 00:46 Uhr, 2791 Aufrufe, 2 Kommentare

Hi zusammen,

ich komme mal wieder mit einem kleinen Problem um die Ecke...

Ich habe ein XML-File das an bestimmten Stellen gesplittet werden soll - Hintergrund:

Ein Konfigurationsfile soll eine Grundkonfiguration enthalten "oberer Teil" und "unterer Teil" und einen "editierbarenTeil" (Mitte) der von den Usern nach Herzenslust zerspielt werden kann. (Es geht nicht anders - die User müssen selber ändern können und es gibt in der Software keine Möglichkeit das Editieren auf einen bestimmten Bereich zu begrenzen. Es geht hier auch nicht um Böswilligkeit oder sowas - die User haben zu etwa 60% die gleichen Anforderungen und die anderen 40% stellen sie sich selbst ein. Das haben sie auch drauf, hat Jahre lang gut funktioniert. Nur wenn in den 60% was geändert werden muss (neue Server, neue Knöpchen die irgendwelche Scripte starten), rennen wir in der Abteilung rum von PC zu PC und die Fehlerquelle ist dementsprechend hoch wenn man pro Arbeitsplatz 30 Häkchen setzt und 10 neue Pfade eingibt...



Es wird die Ansage gelten "was geändert werden darf" bleibt und der Rest ist morgens "sauber"). Jeder Benutzer kann am Tag in seiner Konfiguration ändern was er will, nachts wird sein File eingelesen, der Teil den er editieren durfte wird herausextrahiert, und seine Konfigurationsdatei wird wieder neu zusammengesetzt: Oberer und unterer Teil (ist sauber da durch Admins gepflegt und evtl aktuelle Änderungen sind drin) und mittlerer Teil (der zuvor rausextrahiert wurde) werden also wieder zu einer Datei zusammengesetzt. Die Konfiguration die die Admins pflegen läuft dann genau andersrum, Änderungen im "mittleren Teil" gehen durch das Überbügeln mit den Teilen der User natürlich verloren, was vollkommen ok ist.

Beispiel: Die Zeilen 1-2 und 5-6 sollen dem User jede Nacht übergebügelt werden, 3-4 "bleiben ihm erhalten".

01.
Server1=10.20.30.40 
02.
Pfad3=c:\test 
03.
Bildschirmhintergrund=Augenkrebs 
04.
Knöpfchensortierung=Weglaufen will 
05.
Server4=20.30.40.50 
06.
Pfad6=d:\test2
Nun ist das ja im Prinzip kein Problem, Anleitungen zum Splitten und Zusammenfügen von Textdateien gibt es ja hier nicht wenige...

Aber in der xml sind ja ne Menge "böse" Zeichen die einem den Spaß verderben...

So sieht ein Teil aus:

01.
		<Struct name="actionItem[1]"> 
02.
			<String name="name">Knopf1</String> 
03.
			<String name="groupName">Übersicht</String> 
04.
			<Int name="confirmation">0</Int> 
05.
			<Int name="numActions">1</Int> 
06.
			<Int name="idIcon">251</Int> 
07.
			<Struct name="actions[0]"> 
08.
				<Int name="actionId">1</Int> 
09.
				<Struct name="aCopy"> 
10.
					<String name="destFolder">\\server\pfad</String> 
11.
					<Int name="setDodaysDate">0</Int> 
12.
					<Int name="allowMove">0</Int> 
13.
					<Int name="useCopyDelete">0</Int>

Wie erkläre ich der Batch nun z.B. die Zeile

01.
		<Struct name="actionItem[100]">
auszulesen und diese bis einschließlich Item 199 irgendwohin zu legen?

Als Arbeitsgrundlage habe ich das hier was ohne die Sonderzeichen auch einwandfrei funktioniert:

01.
set "Trenn=xxx" 
02.
set /a Nr=1001 
03.
set "Pfad=%~dpn1" 
04.
set "Ext=%~x1" 
05.
for /f "delims=" %%i in ('type "%~1"') do call :ProcessLine "%%i" 
06.
goto :eof 
07.
:ProcessLine 
08.
if %1 == "%Trenn%" goto :NewFile 
09.
echo %~1>>"%Pfad%-%Nr:~1%%Ext%" 
10.
goto :eof 
11.
:NewFile 
12.
set /a Nr+=1
Bin für jeden Tipp dankbar

LG

Tobi
Mitglied: problemsolver
14.05.2009 um 09:38 Uhr
Hallo Tobi,

ich könnte Dir mit VB weiterhelfen...(was sicherlich nicht schlechter sein wird...) Allerdings müsste ich wissen, was Du jetzt genau ersetzt haben willst. Beispiel:

xmlDatei besteht aus:
Bereich oben
Bereich mitte
Bereich unten

Bereich mitte wird begrenzt durch
01.
<Struct name="actionItem[100]"> 
02.
... 
03.
... 
04.
<Struct name="actionItem[200]">
Richtig?

Bereich mitte soll gesichert werden pro User und "Bereich oben" und "Bereich unten" sollen aus vordefinierten Standarddateien eingelesen werden und am Tagesanfang/Ende mit der gesicherten "Bereich Mitte" kombiniert werden?
xmlDatei nachher
Bereich oben (vordefiniert durch Admins)
Bereich mitte (vorherige Einstellungen des Users)
Bereich unten (vordefiniert durch Admins)

Sind diese Bedingungen korrekt?

Gruß

Markus
Bitte warten ..
Mitglied: bufferm44
19.05.2009 um 01:41 Uhr
Hi all,

mal ein Zwischenstand:

habe Markus den Teil als PN gesendet, Beitrag ist noch nicht gelöst aber in Arbeit
Bitte warten ..
Ähnliche Inhalte
XML
XML Datei mit Powershell splitten
gelöst Frage von LianenSchwingerXML2 Kommentare

Hallo, ich habe eine riesige Exportdatei im XML-Format die ich nicht weiterverarbeiten kann. Der Aufbau ist wie folgt: Ich ...

Batch & Shell
Sonderzeichen Fehler aus Textdatei vermeiden
gelöst Frage von Peter32Batch & Shell16 Kommentare

Hallo, ich habe eine einzige Textdatei mit unbekanntem Namen Im Ordner "temp", mit dem Inhalt: Wenn ich mir nun ...

Batch & Shell
Textdatei splitten in Anzahl Datensätze aus Originaldatei
gelöst Frage von lexuraBatch & Shell7 Kommentare

Guten Tag an die Profis, ich stehe vor einem Problem mit einer .txt Datei. Wir erstellen eine .txt datei ...

Batch & Shell
Mit PowerShell mehrere Sonderzeichen aus einer XML datei entfernen
gelöst Frage von GeretConditBatch & Shell2 Kommentare

Hallo meine Lieben mit Administratoren, ich musste vor kurzem ein kleines PowerShell Script verfassen um ein bestimmtes Sonderzeichen aus ...

Neue Wissensbeiträge
Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 1 StundeMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 14 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 21 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 22 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...