2011-10-27 11 views
3

私はスクリプト生成を自動的に処理する.batファイルを作成しているので、実行するたびに半分のコマンド引数を入力する必要はありません。batファイルにデフォルト以外のcmd.exeを使用するように強制する

は、私は、スクリプトだけbatファイルは、CMDを使用して、デフォルトで

C:\Windows\SysWOW64\cmd.exe 

からコマンドプロンプトを使用した場合に実行されますが、バッチファイル

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

からVBスクリプトを実行する必要があります.exe in system32

C:\Windows\System32\cmd.exe 

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

私はsyswow64を "start ..."で実行しようとしましたが、後に引数を取らないようです。

多くのおかげで、ニール

答えて

3

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

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

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

+0

これはトリックを行い、新しいウィンドウを開いて、すべてが正常に動作するようにします。しかし、1つのバッチファイルでそれを行うことができればいいと思うので、回答を選ぶ前に質問を開いたままにしておきます。助けてくれてありがとう! – Neil

1

私もこの問題がありました。私はそれを解決する方法を見つけました。
System Variablesを変更するだけです。 コントロールパネル»システム»システムの詳細設定»環境変数に

ゴー

変数ComSpecが、その後、ちょうど編集...をクリックして、バッチファイルで、この1行を入力してみてください"C:\Windows\SysWow64\cmd.exe"

0

へのパスを変更して下さい。

%のWINDIR%\ SYSWOW64 \ CMD.EXE/C [ "]します。cscript [スクリプト名] [ホストオプション] [スクリプト引数] ["]

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

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

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

例: "VoltageDrop.vbs /"Campbell.sinます。cscript"

%のWINDIR%\ SYSWOW64 \ CMD.EXE/C "L08"」

注:この行では、私がやりますホストオプションを渡さないでください。このコマンドは、32ビットのコマンドプロンプトでコマンドとして「VoltageDrop.vbs /"Campbell.sin CSCRIPT

を 『L08』の文字列、

を実行します。

関連する問題