batファイルにデフォルト以外のcmd.exeを使用させる

私はいくつかのスクリプト生成を自動的に処理する.batファイルを作成しているので、実行するたびに半ダースのコマンド引数を入力する必要はありません。

私は、バッチファイルからVBスクリプトを実行する必要があります

@call ..\Database\scripts\runscriptupdates.vbs

ただし、スクリプトはコマンドプロンプトを使用する場合にのみ実行されます

C:\Windows\SysWOW64\cmd.exe

デフォルトでは、batファイルはsystem32のcmd.exeを使用します

C:\Windows\System32\cmd.exe

バッチファイルでこのcmd.exeを使用してvbsファイルを実行させる方法はありますか?私は今、約1時間ウェブを徘徊していますが、これまで助けてくれたものは見つかりませんでした。

私は "開始..."とsyswow64を実行しようとしましたが、それは後に引数を取るように見えません。

多くのおかげで、Neil

3

3 答え

あなたが試すことができます:

%windir%\SysWoW64\cmd.exe /c mybatch.bat

これは、32ビットのコマンドプロンプトからバッチ自体を実行します。したがって、あなたのvbsへの呼び出しは、32ビットのコマンドプロンプトからも行われます。

3
追加された
これはトリックを行い、新しいウィンドウを開き、すべてが必要なように実行されます。しかし、1つのバッチファイルでそれを行うことができればいいと思うので、回答を選ぶ前に質問を開いたままにしておきます。助けてくれてありがとう!
追加された 著者 Neil,

I also had this problem, and I found the way to solve it.
You just need to change System Variables.

コントロールパネルシステム高度なシステム設定環境変数に移動します。

Find the variable ComSpec, then just click Edit... and change the path to "C:\Windows\SysWow64\cmd.exe"

1
追加された

バッチファイルにこの1行を入力してみてください。

cscript [スクリプト名] [ホストオプション] [スクリプト引数] [ ]

場所:

    スクリプト名は、ファイル名の拡張子と必要なパス情報を含むスクリプトファイルの名前です。

  • ホストオプションは、Windows Script Hostのさまざまな機能を有効または無効にするコマンドラインスイッチです。ホストオプションは常に2つのスラッシュ(//)で始まります。

  • script引数は、スクリプトに渡されるコマンドラインスイッチです。スクリプト引数の前には必ずスラッシュ(/)が1つ付けられます。

例:

%windir%\ SysWoW64 \ cmd.exe/c "cscript VoltageDrop.vbs /" Campbell.sin "" L08 ""

注:この行では、私はホストオプションを渡しません。このコマンドは文字列を実行し、

cscript VoltageDrop.vbs/"Campbell.sin" "L08"

32ビットコマンドプロンプトのコマンドとして使用します。

0
追加された