How to pass filepath to MATLAB executable

Hi All,
I have created a executable using the application complier.
The function requires the input file path
function main(filepath)
I am not sure how to pass the file path as an input argument to the executable generated using the about funciton.
I tried
!main 'I:\project\task'
but this is not working.
Suggestions will be really helpful.

2 comentarios

Jan
Jan el 27 de Feb. de 2023
"This is no working" is too lean to explain, what happens. Prefer to mention, what you observe. This helps to solve your problem.
Deepa Maheshvare M.
Deepa Maheshvare M. el 27 de Feb. de 2023
Editada: Deepa Maheshvare M. el 27 de Feb. de 2023
Sorry about missing out on the error details.
function main(TASK_DIR)
tbl = readtable(fullfile(TASK_DIR,'input.xlsx'));
I see the following error message
>> !main char(task_dir)
ans =
'char(task_dir)'
....read data
Error using readtable (line 318)
Unable to find or open 'char(task_dir)\input.xlsx'. Check the path and filename or file permissions.

Iniciar sesión para comentar.

 Respuesta aceptada

Rik
Rik el 27 de Feb. de 2023
Editada: Rik el 27 de Feb. de 2023
You're using Matlab syntax to define a char vector, but that is something that will happen automatically.
You can experiment with this tester function:
function main(varargin)
for n=1:nargin
fprintf('input number %d has class %s and contains this:\n',n,class(varargin{n}))
disp(varargin{n})
fprintf('\n')
end
end
To avoid syntax error caused by DOS itself you should consider
!main "I:\project\task"
You can test the effect quickly by using ECHO so you get immediate feedback about any syntax issues.
Edit after your comment to Jan:
You probably want this:
[status,response]=dos(['main ' taskdir]);
That will send the char contained in taskdir as the argument to the function main.

4 comentarios

Deepa Maheshvare M.
Deepa Maheshvare M. el 27 de Feb. de 2023
I'm sorry, I am a bit confused
Could you please tell me how to run the executable from MATLAB's command window?
I do
!main
on the command window to run the main.exe file when I don't have to pass input arguments. Now, I am not sure how to pass the filepath.
Rik
Rik el 27 de Feb. de 2023
Editada: Rik el 27 de Feb. de 2023
Did you try any of my suggestions? I gave three, you don't appear to have tried any of them.
Deepa Maheshvare M.
Deepa Maheshvare M. el 28 de Feb. de 2023
I had tried the last option which didn't work for me.
The second suggestion works great! Thanks a lot.
Rik
Rik el 28 de Feb. de 2023
Glad you found a solution, happy to help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre C Shared Library Integration en Centro de ayuda y File Exchange.

Productos

Versión

R2021a

Preguntada:

el 27 de Feb. de 2023

Comentada:

Rik
el 28 de Feb. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by