aletri
Goto Top

VBScript pfad der zu bearbeitenden datei wird nicht erkannt?

Hallo Leute

Im folgenden Script der soweit funktioniert, wird der Pfad der zu bearbeitenden Datei nicht erkannt : nämlich C:\users\username\AppData\Romaing\Microsoft\FSX"

Weiss jemand Bescheid? Hab schon rumgegoogeld aber nichts passendes gefunden!

Hier der Script:

Option Explicit

Dim xmlDoc, xmlRoot, xmldll, xmlKnoten, Fehlertext

Set xmlDoc = CreateObject("Microsoft.XMLDOM")

xmlDoc.async = False

xmlDoc.load("C:\users\%username%\AppData\Roaming\Microsoft\FSX\dll.xml")


Set xmlRoot = xmlDoc.documentElement


Set xmldll = xmlDoc.createElement("Launch.Addon")

Set xmlKnoten = xmlDoc.createElement("Name")
xmlKnoten.Text = "ATi Core"
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("Disabled")
xmlKnoten.Text = "False"
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("ManualLoad")
xmlKnoten.Text = "False"
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("Path")
xmlKnoten.Text = "ATi\ATiCoreX.dll"
xmldll.appendChild(xmlKnoten )

xmlRoot.appendChild(xmldll)

xmlDoc.Save("C:\users\%username%\AppData\Roaming\Microsoft\FSX\dll.xml")
Set xmlDoc = Nothing


Besten Dank für Unterszützung
aletri

Content-ID: 276120

Url: https://administrator.de/contentid/276120

Ausgedruckt am: 24.11.2024 um 08:11 Uhr

114757
Lösung 114757 01.07.2015, aktualisiert am 02.07.2015 um 10:52:32 Uhr
Goto Top
Moin aletri,
du kannst keine Batch-Variablen in VBS in dieser Art und weise wie du sie verwendest, verwenden.

Mach es so
Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")  
appdata = objShell.ExpandEnvironmentStrings("%appdata%")  
xmlDoc.load(appdata & "\Microsoft\FSX\dll.xml")  
Natürlich weiter unten den Pfad auch abändern, oder ihn gleich in eine Variable schreiben.

Gruß jodel32
aletri
aletri 01.07.2015 um 09:28:28 Uhr
Goto Top
Hallo jodel32

Erst mal Dankeschön !

Wo werden nun diese Zeilen in meinem Script richtig eingefügt resp. ersetzt ?

Habe es schon ausprobiert aber es klappt nicht!!

aletri
114757
114757 01.07.2015 aktualisiert um 10:22:20 Uhr
Goto Top
wieder so ein Zusammenkopierer ...
Zeile 1-3 ziemlich an den Anfang. und die xmlDoc-Zeile tauschst du einfach durch meine aus, wo ist das Problem?
Geht einwandfrei! Da du deinen Code aber nicht in Code-Tags gespostet hast poste ich ihn nicht komplett.

WICHTIGE Info: Wenn die XML-Datei die du ändern willst Namespaces besitzt wird dein Code so in dieser Art nicht funktionieren, dann muss man ihn an einigen stellen korrigieren, und das geht nur mit dem Original-Code der XML-Datei.

jodel32
aletri
aletri 01.07.2015 um 13:22:19 Uhr
Goto Top
Sorry ich versuchs nochmals :

so habe ich Deine Zeilen eingefügt und es funkt nicht.

Set xmlDoc = CreateObject("Microsoft.XMLDOM")  

xmlDoc.async = False

Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")  
appdata = objShell.ExpandEnvironmentStrings("%appdata%")  

xmlDoc.load(appdata & "\Microsoft\FSX\dll.xml")  

Set xmlRoot = xmlDoc.documentElement

Set xmldll =  xmlDoc.createElement("Launch.Addon")  

Set xmlKnoten = xmlDoc.createElement("Name")  
xmlKnoten.Text = "ATi Core"  
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("Disabled")  
xmlKnoten.Text = "False"  
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("ManualLoad")  
xmlKnoten.Text = "False"  
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("Path")  
xmlKnoten.Text = "ATi\ATiCoreX.dll"  
xmldll.appendChild(xmlKnoten )

xmlRoot.appendChild(xmldll) 

xmlDoc.Save("appdata & "\Microsoft\FSX\ndll.xml")  
Set xmlDoc = Nothing
114757
114757 01.07.2015 aktualisiert um 13:31:02 Uhr
Goto Top
so habe ich Deine Zeilen eingefügt und es funkt nicht.
"Funktioniert nicht" ist keine Fehlermeldung, wie oft müssen wir das hier noch vorbeten !!

Ich vermute das deine XML-Datei einfach mit Namespaces arbeitet, denn dann geht dein Code so nicht !!
Und ohne den Quellcode der XML-Datei können wir dir da nicht weiterhelfen face-sad
aletri
aletri 01.07.2015 aktualisiert um 14:11:48 Uhr
Goto Top
Entschuldige mein Unwissen!

Würde es weiterhelfen wenn ich
den Fehlercode posten würde?

Quellcode...ist der in zu ändernden
Datei einsehbar?

aletri
114757
114757 01.07.2015 aktualisiert um 15:57:09 Uhr
Goto Top
Zitat von @aletri:

Würde es weiterhelfen wenn ich
den Fehlercode posten würde?
Ja sicher, das meine ich damit doch.
Quellcode...ist der in zu ändernden
Datei einsehbar?
Ähm du weist nicht das XML ein textbasierendes Format ist ? Datei mit Notepad öffnen und hier mit Codetags reinstellen.
Du postest hier Programmcode ohne irgendwas darüber zu wissen ?

Bedenke immer, wir wissen hier nicht mit wem wir es zu tun haben.
Dehalb wäre es schön zu wissen was du über das Thema VBS weist oder ob du nur irgendwo den Code kopiert hast.

Dann kann man dir auch zielgerichtet helfen.
aletri
aletri 02.07.2015 um 07:51:00 Uhr
Goto Top
Moin jodel32


Hier der Script nachdem ich deine Zeilen eingefügt habe:

Set xmlDoc = CreateObject("Microsoft.XMLDOM")  

xmlDoc.async = False

Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")  
appdata = objShell.ExpandEnvironmentStrings("%appdata%")  

xmlDoc.load(appdata & "\Microsoft\FSX\dll.xml")  

Set xmlRoot = xmlDoc.documentElement

Set xmldll =  xmlDoc.createElement("Launch.Addon")  

Set xmlKnoten = xmlDoc.createElement("Name")  
xmlKnoten.Text = "ATi Core"  
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("Disabled")  
xmlKnoten.Text = "False"  
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("ManualLoad")  
xmlKnoten.Text = "False"  
xmldll.appendChild(xmlKnoten )

Set xmlKnoten = xmlDoc.createElement("Path")  
xmlKnoten.Text = "ATi\ATiCoreX.dll"  
xmldll.appendChild(xmlKnoten )

xmlRoot.appendChild(xmldll) 

xmlDoc.Save("appdata & "\Microsoft\FSX\ndll.xml")  
Set xmlDoc = Nothing

Der Fehlercode:

Skript: C:\users...usw
Zeile: 33
Zeichen 50
Fehler Nicht abegschlossene Zeichenfolgenkonstante
Code: 800A0409
Quelle: Kompilierungsfehler in Microsoft VBScript

Ich hatte es schon Anfanges erwähnt, ich hab den Script
vom Netz ich bin weder Profi noch Entwickler ..also Anungslos
wie Du so schön formuliert hast.
Trotzdem besten Dank für deinen Einsatz.
aletri
114757
114757 02.07.2015 um 10:30:26 Uhr
Goto Top
Wie der Fehler schon sagt: in Zeile 33 hast du ein Anführungszeichen zu viel, und zwar das vor appdata
aletri
aletri 02.07.2015 um 10:51:08 Uhr
Goto Top
Hallo jodel32

Tausend Dank

hat geklappt !!

Gruss
aletri