28

vbscript を実行するためだけに、簡単なバッチ ファイルを作成する必要があります。vbscript とバッチ ファイルの両方が同じフォルダーにあり、sysWOW64 ディレクトリにあります。これは、vbscript がそのディレクトリでしか実行できないためです。現在、私のバッチファイルは次のとおりです。

@echo off
%WINDIR%\SysWOW64\cmd.exe
cscript necdaily.vbs

しかし、vbscript は実行されず、コマンド プロンプトだけが開いています。このバッチ ファイルを実行するときに vbscript を実行する方法を教えてください。

4

6 に答える 6

48

%~dp0現在実行中のバッチ ファイルのパスを取得するために使用できます。

実行前にディレクトリをVBSの場所に変更するように編集

VBS を同じウィンドウで同期的に実行する場合は、

@echo off
pushd %~dp0
cscript necdaily.vbs

VBS を新しいウィンドウで同期的に実行する場合は、

@echo off
pushd %~dp0
start /wait "" cmd /c cscript necdaily.vbs

VBS を同じウィンドウで非同期に実行する場合は、

@echo off
pushd %~dp0
start /b "" cscript necdaily.vbs

VBS を新しいウィンドウで非同期に実行する場合は、

@echo off
pushd %~dp0
start "" cmd /c cscript necdaily.vbs
于 2012-08-10T21:50:35.630 に答える
9

これはバッチ ファイルのコマンドで、vbscript を実行できます。

C:\Windows\SysWOW64\cmd.exe /c cscript C:\Windows\SysWOW64\...\necdaily.vbs
于 2012-08-21T00:24:00.310 に答える
5

バッチ ファイルは行ごとに処理され、実行可能ファイルを直接呼び出すたびに終了します。
- プロセスが終了して続行するまでバッチ ファイルを待機させるには、そのcall前に置きます。
・バッチファイルを待たずに継続させる場合は、そのstart ""前に置く。

目標を達成するには、次の 1 行のスクリプトを使用することをお勧めします。

@call cscript "%~dp0necdaily.vbs"

(これは 1 行なので、@echo off の代わりに @ を使用できます)

スクリプトが SysWOW64 バージョンの cmd.exe からしか呼び出せないと思われる場合は、次のことを試してみてください。

@%WINDIR%\SysWOW64\cmd.exe /c call cscript "%~dp0necdaily.vbs"

ウィンドウを残す必要がある場合は、/c を /k に置き換えることができます

于 2014-12-04T09:46:24.210 に答える