2017-12-02 4 views
0

Ich versuche, mehrere Batch-Dateien in einem Ordner mit VBScript auszuführen. kann mir jemand helfen, wie es geht. Hier ist mein Code.führen Sie mehrere Batch-Datei aus VBScript

Varr1 = hostname 
UN = username 
password = pass 
set ObjFSO = createobject("Scripting.FileSystemObject") 
    set FilePath = ObjFSO.getfolder("C:\test\script") 
    set BatFile = FilePath.files 

    for each m in BatFile 
     If LCase(objFSO.GetExtension(FilePath.files)) = "bat" Then 
     Set WShell = CreateObject("WScript.Shell") 
     WShell.Run ("CMD /K C:\test\script "&BatFile &" " & Varr1 &" "& UN &" "& password) 
     End If 
    Next 
+0

Also, was ist das Problem mit diesem Code? – omegastripes

+0

Mein Code führt die Batch-Dateien nicht aus – spiky

Antwort

0

Gegeben .BAT Dateien wie:

@echo off 
echo a, $1, $2 

im aktuellen Verzeichnis, ein .VBS wie:

Option Explicit 

Const u = "user" 
Const p = "passw" 

Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject") 
Dim goWS : Set goWS = CreateObject("WScript.Shell") 
Dim f, c 
For Each f In goFS.GetFolder(".\").Files 
    If "bat" = goFS.GetExtensionName(f.Name) Then 
     c = Join(Array("%comspec%", "/K", f.Name, u, p)) 
     WScript.Echo "will call", c 
     goWS.Run c 
    End If 
Next 

werden alle von ihnen in neuen Konsolen auszuführen.

Ausgabe:

cscript 47609016.vbs 
will call %comspec% /K b.bat user passw 
will call %comspec% /K a.bat user passw 

(und einige Fenster enthalten, so etwas wie "ein 'Nutzer' 'passw'")

Verwandte Themen