7

毎分スクリプト (Scheduled Tak (CronJob)) の .bat ファイルを実行しています。実行すると、Windows コマンド プロンプトが一時的に表示されます。

私のバッチ コードは次のようになります。

@ECHO OFF
C:\wamp\bin\php\php5.4.3\php.exe -f "C:\wamp\www\tst\index.php" 

実行時にこのウィンドウを非表示にするにはどうすればよいですか?

4

4 に答える 4

7

VBScript を使用する

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("C:\yourbatch.bat"), 0, True

バッチファイルを隠して実行するものを実行します。

于 2012-11-27T09:07:26.490 に答える
2

この VBScript は、%Temp% にバッチ ファイルのコピーを作成し、サイレント モードで実行し、後で削除します。

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")

Dim tempfolder

Const TemporaryFolder = 2

Dim WshShell, strCurDir

Set WshShell = CreateObject("WScript.Shell")

strCurDir    = WshShell.CurrentDirectory

batch = "@ECHO OFF" & vbCrLf & _
        "C:\wamp\bin\php\php5.4.3\php.exe -f C:\wamp\www\tst\index.php"

Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)

WshShell.CurrentDirectory = tempfolder

i=1

n=0

While n <> 1

If (fso.FileExists(i&".bat")) Then

  i = i + 1

Else
  n = 1

End If

Wend

Set File = fso.CreateTextFile(i&".bat",True)

File.Write batch

File.Close

Dim batchfile

batchfile = fso.GetAbsolutePathName(i&".bat")

WshShell.CurrentDirectory = strCurDir

WshShell.Run chr(34) & batchfile & Chr(34), 0, TRUE

fso.DeleteFile batchfile
于 2016-03-30T22:36:15.057 に答える