expertenaustausch > microsoft.* > microsoft.german.scripting.wsh

u.glodek (05.02.2019, 22:20)
Hallo an Alle,

ich hab mich mal an ein kleines Skript versucht, weil es über Vbs klappen soll.
Es sind nur zwei Zeielen und das funktioniert nicht:

Set WshShell = WScript.CreateObject( "WScript.Shell" )
WshShell.Run "C:\Program Files (x86)\SpeedFan\SpeedFan.bat",0,True

und da kommt gleich in der ersten Zeile ein Fehler:

Zeile 1
Zeichen 1
Fehler Objekt erforderlich: "Speedfan"
Code 800A01AB
Quelle Laufzeitfehler in Microsoft VBScript

könnt sich einer mal das ansehen WARUM es nicht gehen.

Danke
Gruß Uwe
Zett Dreizwei (05.05.2019, 12:58)
Am Dienstag, 5. Februar 2019 21:21:00 UTC+1 schrieb u.g...@gmail.com:

> Es sind nur zwei Zeielen und das funktioniert nicht:
> Set WshShell = WScript.CreateObject( "WScript.Shell" )
> WshShell.Run "C:\Program Files (x86)\SpeedFan\SpeedFan.bat",0,True
> und da kommt gleich in der ersten Zeile ein Fehler:
> Zeile 1
> Zeichen 1
> Fehler Objekt erforderlich: "Speedfan"
> Code 800A01AB
> Quelle Laufzeitfehler in Microsoft VBScript
> könnt sich einer mal das ansehen WARUM es nicht gehen.


Du musst bei der Pfadangabe doppelte Anführungszeichen verwenden:

WshShell.Run """C:\Program Files (x86)\SpeedFan\SpeedFan.bat""", 0, True

Und zwar weil in dem Dateipfad Leerzeichen vorkommen - in "Program Files (x86)".

WshShell Run ist ein Kommandozeilenaufruf.
Wenn ein Argument mit Leerzeichen als ein Argument übergeben werden soll, muss man es vorne und hinten mit zusätzlichen Anführungszeichen ("Quotes)" versehen.
Ist übrigens auch in Batch-Aufrufen so...

vG Zett
Ähnliche Themen