2017-10-16 321 views
0

コマンドライン引数として単一の文字列を使用して、コピーする設定ファイルを決定するbatスクリプトがあります。バットコードは、変数の代入(下に言い換えて)のためには非常に簡単で、それを実行するときに私が投げるコマンドライン引数で期待どおりに動作します。Iexpress経由で作成されたexeファイルのコマンドライン引数の使用

@ECHO OFF 
setlocal enabledelayedexpansion 
set var=%1% 
if "%var%" == "" (
    echo Argument missing 
    EXIT 1 
) 

IExpressを使用して、このbatファイルをインストールプログラムとして使用して自己解凍形式のアーカイブを作成しようとすると問題が発生します。私は、実行可能ファイルに与えられたコマンドライン引数をインストールプログラム(batスクリプト)に渡すべきであることを示す方法を見つけ出すことができませんでした。 Windowsのコマンドラインから

myiexpressexecutable.exe arg1 

をバットインストールプログラムは、「引数1」の値が何であれに「VAR」を割り当てる必要があり:基本的に、私が実行できるようにしたいです。

正しい構文がわからないことや、IExpressでこれを許可していないことがわかりません。私は両方にIExpressのウィザードでは、インストールプログラムを設定しようとしました。どちらの場合も

cmd.exe /c zabbix_install.bat %1 

cmd.exe /c zabbix_install.bat %* 

私は結果の実行可能ファイルに引数を渡すためにしようと、私は "メッセージが表示されますコマンドライン操作の構文エラーです。「/」と入力してください。引数を渡さないと、基本となるbatスクリプトが実行されますが、%1または%*をリテラル文字列 "%1"または "%*"として扱います。私は実行可能ファイルのコマンドライン引数を含む場合

cmd.exe /c zabbix_install.bat 

私は同じ「コマンドライン操作の構文エラー」メッセージが表示されます:私はちょうどにするIExpressでインストールプログラムを設定

。引数なしでこのexeを実行すると、varが空の文字列であるため、基礎となるバッチスクリプトが失敗するようになります。

誰でも私がこのexeのインストールプログラムを設定する際に間違っていることを理解できますか?または、IExpressでコマンドライン引数をとるexeファイルを作成できない場合は誰にも知られていますか?あなたは

myiexpressexecutable.exe /? 

を使用する場合は

おかげ

答えて

0

それはあなたのパラメータに関するいくつかの情報を伝えます。 は

cmd.exe /c zabbix_install.bat 

にするIExpressプログラムを設定し、その後のようなパラメータでコンパイルされたファイルを実行します。

myiexpressexecutable.exe /c:" cmd.exe /c zabbix_install.bat arg1" 

お知らせ引用符とcmd.exeの開始との間のスペース。ドキュメンテーションによると、このように実行する必要がありますが、正しくない可能性があります。スペースも必要なし。

関連する問題