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-Key: 276120

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

Printed on: April 16, 2024 at 21:04 o'clock

Mitglied: 114757
Solution 114757 Jul 01, 2015, updated at Jul 02, 2015 at 08:52:32 (UTC)
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
Member: aletri
aletri Jul 01, 2015 at 07:28:28 (UTC)
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
Mitglied: 114757
114757 Jul 01, 2015 updated at 08:22:20 (UTC)
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
Member: aletri
aletri Jul 01, 2015 at 11:22:19 (UTC)
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
Mitglied: 114757
114757 Jul 01, 2015 updated at 11:31:02 (UTC)
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
Member: aletri
aletri Jul 01, 2015 updated at 12:11:48 (UTC)
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
Mitglied: 114757
114757 Jul 01, 2015 updated at 13:57:09 (UTC)
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.
Member: aletri
aletri Jul 02, 2015 at 05:51:00 (UTC)
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
Mitglied: 114757
114757 Jul 02, 2015 at 08:30:26 (UTC)
Goto Top
Wie der Fehler schon sagt: in Zeile 33 hast du ein Anführungszeichen zu viel, und zwar das vor appdata
Member: aletri
aletri Jul 02, 2015 at 08:51:08 (UTC)
Goto Top
Hallo jodel32

Tausend Dank

hat geklappt !!

Gruss
aletri