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

gelöst Batch Variable an ein XML-Dokument weitergeben und diese dort eintragen.

Mitglied: Roxx123

Roxx123 (Level 1) - Jetzt verbinden

28.06.2011, aktualisiert 17:18 Uhr, 3058 Aufrufe, 7 Kommentare

Guten Tag,

ich bin neu in dem Bereich der Batch Programmierung und habe mir einige Beiträge in diesem Forum angesehen die in die Richtung meines Problems gehen, allerdings leider nicht ganz das treffen was ich suche.
Und zwar soll in einem Batch Script eine Variable abgefragt werden und anschließend in einem XML Formular in eine bestimmte Zeile gesetzt werden.
Ich habe mir mal einige Batch Scripte hier zum Vorbild genommen und versucht ein bisschen zu basteln, leider verstehe ich noch nicht wirklich viel.
Die Zeile sieht vor der Abfrage so aus <Key Value= /> und soll nach der Abfrage dann in etwa so aussehen <Key Value="123" /> bei einer eingabe von 123 als Variable Key.

01.
set /p key= 
02.
@echo on & Setlocal  
03.
:: Defintition  
04.
set Datei=C:\lulu.xml 
05.
set Neudatei=C:\lala.xml 
06.
set "NeueZeile=<Key Value="%key%" />"  
07.
 
08.
:: Jede Zeile der Datei auslesen und an u_Prog. übergeben  
09.
for /f "delims=" %%i in (%Datei%) do set "Zeile=%%i" & call :processline  
10.
 
11.
:: Originaldatei wieder herstellen  
12.
move %Neudatei% %Datei%  
13.
pause 
14.
goto :eof  
15.
 
16.
:processline  
17.
::Sonderzeichen maskieren  
18.
set "Zeile=%Zeile:<=<Key"  
19.
set "Zeile=%Zeile:>=/>"  
20.
:: Nach String suchen  
21.
echo "%Zeile%"|find "false">nul && (>>%Neudatei% echo %NeueZeile%) || (>>%Neudatei% echo %Zeile%)  
22.
pause 
23.
goto :eof
Mitglied: TsukiSan
28.06.2011 um 18:33 Uhr
ich hätte etwas in VBS für dich:
01.
Ein = "C:\lulu.xml " 
02.
Aus = "C:\lala.xml" 
03.
 
04.
Frage = Inputbox("Bitte KEY eingeben!",,"123") 
05.
 
06.
Von = "<Key Value= />" 
07.
Nach = "<Key Value=" & chr(34) & Frage & chr(34) & " />" 
08.
 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
fso.CreateTextFile(Aus).Write Replace(fso.OpenTextFile(Ein).ReadAll, Von, Nach)
Vielleicht am Thema vorbeigeantwortet, aber eventuell hilft es dir.

Gruss
Tsuki
Bitte warten ..
Mitglied: Roxx123
29.06.2011 um 09:16 Uhr
Hallo Tsuki,

danke für die schnelle Antwort, leider muss es ein Batch-Script sein, und damit entspricht das nicht so ganz dem was ich brauche.

Gruss Roxx
Bitte warten ..
Mitglied: TsukiSan
29.06.2011 um 10:54 Uhr
Hi Roxx,

ich gebe ja nicht auf mit VBS (wegen etwaigier Leer- oder Sonderzeichen)
Wir können ja tricksen und erstellen und rufen eine VBS mittels Batch auf
01.
@ECHO OFF &SETLOCAL 
02.
 
03.
:: vbs erzeugen: 
04.
>"%temp%\XML.vbs" ECHO Ein = "C:\lulu.xml" 
05.
>>"%temp%\XML.vbs" ECHO  Aus = "C:\lala.xml" 
06.
>>"%temp%\XML.vbs" ECHO  Frage = "123" 'Inputbox("Bitte KEY eingeben!",,"123") 
07.
>>"%temp%\XML.vbs" ECHO  Von = "<Key Value= />" 
08.
>>"%temp%\XML.vbs" ECHO  Nach = "<Key Value=" & chr(34) & Frage & chr(34) & " />" 
09.
>>"%temp%\XML.vbs" ECHO  Set fso = CreateObject("Scripting.FileSystemObject") 
10.
>>"%temp%\XML.vbs" ECHO  fso.CreateTextFile(Aus).Write Replace(fso.OpenTextFile(Ein).ReadAll, Von, Nach) 
11.
 
12.
:: vbs aufrufen: 
13.
CALL "%temp%\XML.vbs" 
14.
 
15.
:: vbs löschen: 
16.
DEL "%temp%\XML.vbs"
Damit kannst du bei Batch bleiben

Gruss
Tsuki
Bitte warten ..
Mitglied: Roxx123
29.06.2011 um 11:18 Uhr
Hi Tsuki,

mit dieser Lösung kann ich gut leben vielen dank dafür, jetzt hab noch ein Problem in Zeile 08 entdeckt wenn ich alles anpasse und dein Code ausführe sagt mir das System:
((Echo on), das ich sehe was passiert)

- Der Befehl chr ist entweder falsch geschrieben oder kann nicht gefunden werden
- Der Befehl Frage ist entweder falsch geschrieben oder kann nicht gefunden werden
- Der Befehl chr ist entweder falsch geschrieben oder kann nicht gefunden werden
- Der Befehl " />" ist entweder falsch geschrieben oder kann nicht gefunden werden

Könnte das auf die vielen "Anführungszeichen" zurückzuführen sein?
Bitte warten ..
Mitglied: TsukiSan
29.06.2011 um 15:48 Uhr
Hallo Roxx123,

joh, 'tschuldigung! Da pfeiff (pipe) ich mir Einen
Das Problem ist natürlich das & im Echo. Das muss - weil Befehlszeichen! - ausgepipet werden.
Schönes Deutsch
Mache es so:
01.
@ECHO OFF & SetLocal EnableDelayedExpansion  
02.
 
03.
:: vbs erzeugen: 
04.
>%temp%\XML.vbs ECHO Ein = "C:\lulu.xml" 
05.
>>%temp%\XML.vbs ECHO  Aus = "C:\lala.xml" 
06.
>>%temp%\XML.vbs ECHO  Frage = "123" 
07.
>>%temp%\XML.vbs ECHO  Von = "<Key Value= />" 
08.
>>%temp%\XML.vbs ECHO  Nach = "<Key Value=" ^& chr(34) ^& Frage ^&  chr(34) ^&  " />" 
09.
>>%temp%\XML.vbs ECHO  Set fso = CreateObject("Scripting.FileSystemObject") 
10.
>>%temp%\XML.vbs ECHO  fso.CreateTextFile(Aus).Write Replace(fso.OpenTextFile(Ein).ReadAll, Von, Nach) 
11.
 
12.
 
13.
:: vbs aufrufen: 
14.
CALL %temp%\XML.vbs 
15.
 
16.
:: vbs löschen: 
17.
DEL %temp%\XML.vbs
Gruss
Tsuki
Bitte warten ..
Mitglied: Roxx123
30.06.2011 um 10:44 Uhr
Guten Morgen Tsuki,

das war das was ich gebraucht habe vielen Dank für deine Hilfe.
Mal sehen ich glaube ich fange mal an nebenbei noch etwas VBS zu lernen.

Gruß Roxx
Bitte warten ..
Mitglied: TsukiSan
30.06.2011 um 16:06 Uhr
Hi Roxx,

es freut mich, dass es gepasst hat!
Batch und VBS haben für sich je Vorteile. Wenn du in VBS auch was machen möchtest, dann freue ich mich jetzt schon auf das nächste Thema! im positiven Sinne!

Gruss
Tsuki
Bitte warten ..
Ähnliche Inhalte
Basic

VBA Access Variable an Query Kriteria weitergeben

Frage von EverestBasic1 Kommentar

Hallo Access-Experten, kann jemand mir bitte erklären wie ich eine Variable aus einem Formular (über VBA) an Query Kriterien ...

Batch & Shell

Batch - Variablen

gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

Batch & Shell

Batch XML Importer - Import von Dateien mittels Batch und xml-File

gelöst Frage von DeeJayBeeBatch & Shell7 Kommentare

Hallo zusammen, ich habe gerade folgendes Problem: Ein Scanner scannt Dokumente in ein Verzeichnis C:\scans\auftraege Er benennt jedes Dokument ...

Batch & Shell

XML in CSV bat batch powershell

Frage von nolle99Batch & Shell9 Kommentare

Als erstes mal frohe Ostern euch allen ;) Nach dem Essen habe ich nun ein Problem das ich gern ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 9 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 21 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 23 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 23 StundenMicrosoft15 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...