2017-12-02 9 views
0

vbscriptを使用して複数のバッチファイルをフォルダ内で実行しようとしています。誰も私にそれを行う方法を助けることができます。 ここに私のコードです。以下のような複数のバッチファイルを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

ので、そのコードの問題は何ですか? – omegastripes

+0

私のコードはバッチファイルを実行していません – spiky

答えて

0

考える.BATファイル:現在のディレクトリ内

@echo off 
echo a, $1, $2 

、.VBSのような:

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 

が新しいコンソールでそれらのすべてを実行します。

出力:

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

(および " 'ユーザー' 'PASSW'" のようなものを含むいくつかのウィンドウ)

関連する問題