毎分スクリプト (Scheduled Tak (CronJob)) の .bat ファイルを実行しています。実行すると、Windows コマンド プロンプトが一時的に表示されます。
私のバッチ コードは次のようになります。
@ECHO OFF
C:\wamp\bin\php\php5.4.3\php.exe -f "C:\wamp\www\tst\index.php"
実行時にこのウィンドウを非表示にするにはどうすればよいですか?
毎分スクリプト (Scheduled Tak (CronJob)) の .bat ファイルを実行しています。実行すると、Windows コマンド プロンプトが一時的に表示されます。
私のバッチ コードは次のようになります。
@ECHO OFF
C:\wamp\bin\php\php5.4.3\php.exe -f "C:\wamp\www\tst\index.php"
実行時にこのウィンドウを非表示にするにはどうすればよいですか?
VBScript を使用する
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("C:\yourbatch.bat"), 0, True
バッチファイルを隠して実行するものを実行します。
この 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