Trouble when calling a bat file

i have a python script that running perfectly using the anaconda env.
i created a bat file that call to my python script, and when i double clicking the bat file it running perfectly also.
also when i call to the bat file from cmd it works fine.
BUT, when i call to the bat file from matlab2021a usung the system() it gives this error message:
"'cmd' is not recognized as an internal or external command,
operable program or batch file."
and also:
"RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) "
By the way, i alread add my PATH to matlab.
The biggest thing is that last night i could have run the bat file from matlab, woke up this morning and got that issue before change nothing:(
Hope for answers:) Thanks

11 Comments

Show how you make up the batch file path and pass it to system(), for example
batFullFilePath 'C:\my batch.bat'
dataFullFileName = 'C:\myMovie.mp4'
commandLine = ['"' batFullFilePath '" "' dataFullFileName '"'];
system(commandLine);
i call "system(myBat.bat)"
yesterday it work
now it gives the error i mentioned
If it literally says "cmd" then you are running on MS Windows in a version before Windows XP.
... Mind you at the moment I could not swear that Windows 11 still has cmd.exe but I would think it highly likely it does.
thanks for the answers, i gotta mention that i can run everything in matlab using system(), except this batch file.
I have Windows 10 and this works for me:
>> !cmd
Microsoft Windows [Version 10.0.19042.1526]
(c) Microsoft Corporation. All rights reserved.
C:\Users\ThompsonBC\Documents\MATLAB>exit
exit
If you echo the PATH in MATLAB the location of cmd.exe on your system needs to be included:
>> !echo %PATH%
C:\Program Files\MATLAB\R2021b\bin\win64;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MATLAB\R2021b\runtime\win64;C:\Program Files\MATLAB\R2021b\bin;
>>
when i run "!cmd" it gives :
'cmd' is not recognized as an internal or external command,
operable program or batch file.
how can i fix this dude?
Which operating system are you using? Which MATLAB release are you using?
If you are using Windows, then check inside C:\Windows\System32 to see if cmd.exe is there.
What shows up in MATLAB if you ask
getenv('PATH')
Kfir Weissman
Kfir Weissman on 1 Mar 2022
Edited: Kfir Weissman on 1 Mar 2022
Guys i solve the problem, I just restart matlab and its work..

Sign in to comment.

Answers (1)

Actually I don't think this will work (what you say you are using):
system(myBat.bat)
You either have to pass in a variable, or pass in your batch filename enclosed in single or double quotes:
system("myBat.bat")

Products

Tags

Asked:

on 1 Mar 2022

Commented:

on 1 Mar 2022

Community Treasure Hunt

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

Start Hunting!