Hello. When i try to run a .bat file from matlab, an error appears in a cmd window: "terminate called after throwing an instance of 'std::logic_error' what(): Could not find user home direct" What should I do to correct this ? PS: when I run it from the cmd window, every thing works correctly. Thanks for your help.

댓글 수: 2

José-Luis
José-Luis 2017년 8월 2일
How are you running said file?
Are you using a system() call?
Yes I tried this way, but I also try to use this little program:
batFile = 'c:\name_folder\name_file.bat';
startInfo = System.Diagnostics.ProcessStartInfo('cmd.exe', sprintf('/c "%s"', batFile));
proc = System.Diagnostics.Process.Start(startInfo);
if isempty(proc)
error('Failed to launch process');
end
while true
if proc.HasExited
fprintf('\nProcess exited with status %d\n', proc.ExitCode);
break
end
fprintf('.');
pause(.1);
end
I think the problem comes from the way that matlab is using "cmd", maybe I don't have all the right, or something like that... Maybe their is some thing to change in "startInfo" but I don't know what :)

댓글을 달려면 로그인하십시오.

답변 (1개)

ES
ES 2017년 8월 2일

0 개 추천

Is there any reason why you dont use
!abc.bat
or
dos('abc.bat')

댓글 수: 1

Asterix Legaulois
Asterix Legaulois 2017년 8월 2일
I tried this, but I have the same error, so I tried an other way, with more parameters

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 File Operations에 대해 자세히 알아보기

질문:

2017년 8월 2일

댓글:

2017년 8월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by