passing filenames to a dos command

I would like to use an DOS executable command. The command requires file input and output names.
I cannot figure out how to pass the filenames (which are characters in the Matlab program).
For example the executable I want to run is "dcmdjpeg", so I have tried using
dos('.\dcmdjpeg FileIn FileOut'), but offcourse once I have the apostrophes DOS does not know what FileIn and FIleOut are.
Ive also tried
eval('!.\dcmdjpeg' FilNamIn FilNamOut);
Again this doesnt work.

1 件のコメント

Prashant Verma
Prashant Verma 2023 年 8 月 17 日
just to add a bit more info. If I try
status=dos(['.\dcmdjpeg ', FilNam1 FilNam2]);
then I get the error
$dcmtk: dcmdjpeg v3.6.0 2011-01-06 $
dcmdjpeg: Decode JPEG-compressed DICOM file
error: Missing parameter dcmfile-out

サインインしてコメントする。

回答 (2 件)

Kunal Kandhari
Kunal Kandhari 2023 年 8 月 17 日

0 投票

To pass the filenames to the dos command, you need to properly construct the command string to include the file names.
Here's how you can do it:
% Replace these with your actual file names
FileIn = 'input_file_name';
FileOut = 'output_file_name';
command = sprintf('.\\dcmdjpeg %s %s', FileIn, FileOut);
output = dos(command);
Where "sprintf" is a string formatter, you can read more about it here: sprintf
Hope it helps!
Star Strider
Star Strider 2023 年 8 月 17 日

0 投票

See if the system function will do what you want.
Also, see Run External Commands, Scripts, and Programs for a more extensive discussion.

カテゴリ

ヘルプ センター および File ExchangeMATLAB Mobile についてさらに検索

製品

リリース

R2019b

タグ

質問済み:

2023 年 8 月 17 日

回答済み:

2023 年 8 月 17 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by