it-swarm.com.de

So rufen Sie ein VbScript aus einer Batchdatei auf, ohne eine zusätzliche Eingabeaufforderung zu öffnen

Ich habe eine VBScript-Datei, die ich von einer Batch-Datei aufrufen möchte. Der folgende Code wurde in einen Notizblock kopiert und als MyScript.vbs gespeichert

(http://gallery.technet.Microsoft.com/scriptcenter/8bbed56f-a7aa-491f-a296-687dd96098a3#content)

    Const HIDDEN_WINDOW = 12 

    strComputer = "." 
    Set objWMIService = GetObject("winmgmts:" _ 
               & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

    Set objConfig = objStartup.SpawnInstance_ 
    objConfig.ShowWindow = HIDDEN_WINDOW 
    Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
    errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID) 

Es wurde eine Batchdatei mit dem Namen Run.bat erstellt und der folgende Code hinzugefügt.

    @echo off

    start "C:\\Users\\guest\\Desktop\\123\\MyScript.vbs"

Wenn ich versuche, die Batchdatei über den Befehl Prompt auszuführen, wird ein weiterer Befehl Prompt geöffnet.

4
JChan
rem This is the command line version
cscript "C:\Users\guest\Desktop\123\MyScript.vbs"

OR

rem This is the windowed version
wscript "C:\Users\guest\Desktop\123\MyScript.vbs"

Sie können auch die Option //e:vbscript hinzufügen, um sicherzustellen, dass das Skriptmodul Ihr Skript als vbscript erkennt.

Für Windows/DOS-Batchdateien ist es nicht erforderlich, \ wie * nix zu maskieren.

Sie können weiterhin "C:\Users\guest\Desktop\123\MyScript.vbs" verwenden, dies setzt jedoch voraus, dass der Benutzer *.vbs mit wscript verknüpft ist.

11
Alvin Wong

Wenn Sie den Typ der vbs-Zuordnungen korrigieren möchten

regsvr32 vbscript.dll
regsvr32 jscript.dll
regsvr32 wshext.dll
regsvr32 wshom.ocx
regsvr32 wshcon.dll
regsvr32 scrrun.dll

Wenn Sie vbs aufgrund der Verwaltung nicht verwenden können, konvertieren Sie Ihr Skript in ein vb.net-Programm. 

Ein großer Unterschied besteht darin, dass Funktionen und Subs sowohl mit Klammern als mit Funktionen aufgerufen werden.

Die Compiler werden also auf allen Computern installiert, auf denen .NET installiert ist.

In diesem Artikel erfahren Sie, wie Sie ein .NET-Programm erstellen. Beachten Sie, dass das Beispiel für einen Skript-Host ist. Sie können dies nicht verwenden, Sie müssen Ihren VBS-Code als .NET-Code einfügen.

Wie kann ich ein VBScript in eine ausführbare Datei (EXE) konvertieren?

0
David Candy