2016-04-09 34 views
0

次のクエリを実行すると、プログラムは開きますが、開始コマンドからパラメータを取得するのではなく、依然としてパラメータを要求しています。私はここでバッチファイルを実行していない、エラーのために私の声明を修正してください。Windowsのコマンドプロンプトでstartコマンドを使用して複数のパラメータをプログラムに渡す方法はありますか?

START "TESTING" /D "D:\Work\ORMB DB Upgradation work\ORMB_DB_Upgrade_2.3.0.2.0_to_2.4.0.0.0\FW\FW42020\FW42020-HFix47\" /MIN /HIGH CDXPatch.exe "O" "schema_user" "schema_pass" "db_name" "Y" 

議論は、これまでのソリューションのためのベストショットとして、次のコマンドをもたらしています

echo.O&echo.user&echo.pass&echo.db&echo.Y | "Path\CDXPatch.exe" 

それは次のエラーをもたらした:

enter image description here

+1

http://stackoverflow.com/questions/26551/how-to-pass-command-line-parameters-to-a-batch-fileの重複 – Spidey

+0

私はここでバッチファイルを実行していません。私はバッチスクリプトに慣れていないので、プログラムの複数のパラメータを提供する投稿ステートメントの終わりを修正することができれば、とても役に立ちます。 –

+0

あなたのプログラムはおそらくコマンドラインからパラメータを取ることができません。 '(echo.O&echo.schema_user&echo.schema_pass&echo.db_name&echo.Y)を試してください。 CDXPatch.exe'。これをバッチファイルの中に入れて、それを 'START'にします。 – gordon

答えて

0

は、あなたのメインのバッチでこれを入れてファイル(CDXPatch.exeCDXPatch.bat *に置き換えてください):

START "TESTING" /D "D:\Work\ORMB DB Upgradation work\ORMB_DB_Upgrade_2.3.0.2.0_to_2.4.0.0.0\FW\FW42020\FW42020-HFix47\" /MIN /HIGH CDXPatch.bat "O" "schema_user" "schema_pass" "db_name" "Y" 

その後にこれを入れCDXPatch.bat(任意の数の引数をサポートするために、編集):

@(for %%a in (%*) do @echo.%%~a) | CDXPatch.exe 

* CXDPatch.batいずれかでなければなりませんディレクトリ(%PATH%に指定されたり、完全なパスを指定する必要があります例えば。 C:\User\CDXPatch.bat)。

+0

私は宗教的にあなたが私に言ったことに従っていることを保証することができますが、コマンドプロンプトからの応答はありませんでした。プロンプトがスキップされました。私はタスクマネージャもチェックしましたが、CDXPatch.cmdは実行中として表示されていませんでした。 –

+0

@HarryJohnstonが質問にコメントしたので、私はstartコマンドなしでCDXPatch.cmdを実行しました。それは私に次のエラーを与えました:CDXPatch.exeがパラメータファイルCDXPatch.parを開くことができませんでした –

+0

'CDXPatch.exe'と同じフォルダに' CDXPatch.par'というパラメータファイルがある場合は、このファイルをコマンドラインで渡すのではなく、また、「スキップオーバー」という意味は何ですか?プログラムが想定していたことをしたかどうか確認しましたか?ちなみに、 'CDXPatch.cmd'はタスクマネージャには表示されず、' cmd.exe'と 'conhost.exe'だけが表示されます。 – gordon

関連する問題