2

実行時にパラメータファイルの名前を要求する実行可能ファイルがあります。パラメータファイルの名前を入力するすべてのスタイルを試しましたが、同じエラーが発生します。

GAM Version: 2.905 

ERROR - the parameter file does not exist, 
        check for the file and try again   

Stop - Program terminated. 


ans =

     0

パラメータファイルの名前はですgam.par。関数がパラメータファイルの名前を自動的に読み取るために試したさまざまなスタイルは次のとおりです。

system('"gam.exe" -f "gam.par"')

system('"gam.exe" -f "gam.par"')

system('"gam.exe" -f gam.par')

system('gam.exe -f gam.par')

system('"gam.exe" /f gam.par')

system('"gam.exe" /f gam.par /o gam.out')

system('"C:\Users\...\gam.exe" /f gam.par /o gam.out')

system(['"C:\Users\...\gam.exe" /f gam.par /o gam.out'])

ここgam.parで、およびgam.parはそれぞれパラメータ(入力)ファイルと出力ファイルです。ただし、上記の各ケースで、最初に示したのと同じエラーメッセージが表示されます。

すべてのファイル(入力、出力、実行可能ファイルなど)は同じフォルダーにあります。パラメータファイルの名前を使用せずにsystem()関数を使用すると、問題なく実行され、パラメータファイル名の入力を求めgam.parられます。プロンプトで同じファイル名(つまり)を入力すると、すべて正常に動作します。プロンプトで手動で入力するのではなく、system()引数内にパラメーターファイル名を入力することで、これを自動的に実行できるようにしたいと思います。自分がやろうとしていることがうまくいかない理由を誰かが判断できれば助かります。ありがとう!

4

3 に答える 3

2

Mathworksのこのページによると、構文は次のとおりです。

system('filename parameter1 parameter2...parameterN')

またはあなたの場合:

system('gam.exe gam.par') 

引数全体を一重引用符で囲み、実行可能アプリケーションに渡される各パラメーター間のスペースに注意してください。完全な製品ドキュメントもありますが、以前のリンクよりも明確ではありません。

于 2012-07-11T00:49:27.217 に答える
2

これが例です。にテキストファイルがあると想像してくださいC:\filename.txt::

system('type c:\filename.txt')

ここで、ファイルの名前(またはパス)にスペースが含まれている場合は、二重引用符を使用する必要があります。

system('type "c:\my filename.txt"')
于 2012-07-11T13:09:32.203 に答える
0

コンソールでプログラムを実行します。\\location\My programm.exe 'param 1' 'param 2'

Matlabでプログラムを実行します。system(['location\my proramm.exe' '"param 1"' '"param 2')

pathApplicationForm = strcat('"C:\Users\Master\Google Drive\Bakalaura Darbs\Application Development for the Microscopic Models Calibration\Application Form\bin\Debug\Application Form.exe"');
runParam = strcat(get(vEdit2,'String'), '\', get(vEdit3,'String'));
VISSIM = strcat(get(vEdit1,'String'));
system([pathApplicationForm ' "' VISSIM '" "' runParam '']);

動作しています^^

于 2013-11-09T09:22:52.597 に答える