How can i Pass a file name as input or argument to matlab standalone executable

10 ビュー (過去 30 日間)
Sunil Patil
Sunil Patil 2015 年 8 月 7 日
コメント済み: Walter Roberson 2015 年 8 月 7 日
My Matalab code reading inputs from '.csv' files. These files will be generated from 'data manager'. here the issue is, file name and file locations will be different every time when data manager runs ( This is to avoid the clash) So, The compiled matlab(EXE) needs to be able to run in any folder and take input file as an argument.
help me in resolving this .... Thanks Sunil Patil

回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 8 月 7 日
Often this would be handled with uigetfile() for interactive file selection. However, taking a filename as an argument has its advantages.
The function that you designate as the "main" one to compile should accept varargin . When nargin > 0 then each varargin{K} is a string that was passed on the command line. For example,
function managedata(varargin)
if nargin > 1
filename = varargin{1};
pathstr = cd();
else
[filename, pathstr] = uigetfile('Which file?');
end
fullname = fullfile(pathstr, filename);
  2 件のコメント
Sunil Patil
Sunil Patil 2015 年 8 月 7 日
編集済み: Sunil Patil 2015 年 8 月 7 日
Thanks for your replay.. But Here, Data manger create a temporary folder to run the Matlab EXE for each run and it will be different for each run to prevent any clashes ... So, My matlab exe should take that argument as input @ every run And There won't be user interface to select file location & name.
And,: Matlab exe shold read the '.bat' files which are generated from 'Data manager' and take those argument as input to search 'input file'
Walter Roberson
Walter Roberson 2015 年 8 月 7 日
function managedata(batfilename, varargin)
if ~exist(batfilename, 'file')
error because file does not exist
end
fid = fopen(batfilename,'rt');
while true
thisfile = fgetl(fid);
if ~ischar(thisfile); break; end %end of file
%now process thisfile
end
fclose(fid);

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

カテゴリ

Help Center および File ExchangeFiles and Folders についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by