WshShell.Run () Kompilierungsfehler !
WshShell.Run ("net use X: /d " , 0, True) schon dieser Einzeiler bringt mich und mein Windows aus der Bahn ^^
Moinsen,
WshShell.Run ("net use X: /d " , 0, True)
tja schon bei diesem einfachen einzeiler klappt es bei mir nicht :D
Fehler: Beim Aufruf einer Unterroutine dürfen keine Klammer verwendet werden.
Code: 800A0414
Da ich ein absoluter Noob bin, hoffe ich mal das mir jemand hierbei helfen kann
Ohne klammer klappt es natürlich nicht und google spuckt leider auch nix brauchbares
für mich aus, kann doch eigentlich nich sooo schwer sein.
Das ziel ist es einfach eine Batch-datei auszuführen ohne dass das cmd prompt sichtbar ist.
Btw. winxp pro sp2
Dankeschön.
Moinsen,
WshShell.Run ("net use X: /d " , 0, True)
tja schon bei diesem einfachen einzeiler klappt es bei mir nicht :D
Fehler: Beim Aufruf einer Unterroutine dürfen keine Klammer verwendet werden.
Code: 800A0414
Da ich ein absoluter Noob bin, hoffe ich mal das mir jemand hierbei helfen kann
Ohne klammer klappt es natürlich nicht und google spuckt leider auch nix brauchbares
für mich aus, kann doch eigentlich nich sooo schwer sein.
Das ziel ist es einfach eine Batch-datei auszuführen ohne dass das cmd prompt sichtbar ist.
Btw. winxp pro sp2
Dankeschön.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 52423
Url: https://administrator.de/forum/wshshell-run-kompilierungsfehler-52423.html
Ausgedruckt am: 21.05.2025 um 23:05 Uhr
4 Kommentare
Neuester Kommentar
Hallo lifeisaglitch!
Anmerkungen:
vorweg musst Du dem Script schon spendieren - und dann bitte wirklich ohne Klammern weiter ...
Grüße
bastla
Anmerkungen:
- Als reiner Einzeiler kann das nix werden, zumindest ein
Set WshShell = WScript.CreateObject("WScript.Shell")
- Um interne CommandLine-Befehle zu verwenden, solltest Du dem Befehl ein "cmd /c " voranstellen.
- Aber, wenn schon VBS, warum dann nicht gleich
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.RemoveNetworkDrive "X:"
Grüße
bastla
Um auf den Fehler zurückzukommen:
Beim Aufruf einer Unterroutine dürfen keine Klammer verwendet werden
bedeutet:
Bei einer Sub, also einer Unterroutine die keine Werte zurückliefert oder dem Aufruf eine Funktion, deren Wert man nicht auswertet, muß es entweder heißen:
WshShell.Run "net use X: /d " , 0, True
also keine Klammern oder
call WshShell.Run ("net use X: /d " , 0, True)
oder wir nehmen einfach den Wert zurück, benutzen es also als Funktion:
Variable = WshShell.Run ("net use X: /d " , 0, True)
Und ja, ein Objekt muß vorher erzeugt werden, also vorher noch
set wshshell = CreateObject("WScript.Shell")
Und für das Löschen von Netzlaufwerken mach es so wie Bastla es schreibt, ist besser als externen Kommandozeilenaufruf.
Beim Aufruf einer Unterroutine dürfen keine Klammer verwendet werden
bedeutet:
Bei einer Sub, also einer Unterroutine die keine Werte zurückliefert oder dem Aufruf eine Funktion, deren Wert man nicht auswertet, muß es entweder heißen:
WshShell.Run "net use X: /d " , 0, True
also keine Klammern oder
call WshShell.Run ("net use X: /d " , 0, True)
oder wir nehmen einfach den Wert zurück, benutzen es also als Funktion:
Variable = WshShell.Run ("net use X: /d " , 0, True)
Und ja, ein Objekt muß vorher erzeugt werden, also vorher noch
set wshshell = CreateObject("WScript.Shell")
Und für das Löschen von Netzlaufwerken mach es so wie Bastla es schreibt, ist besser als externen Kommandozeilenaufruf.