Azzera filtri
Azzera filtri

How to hide console messages for a matlab executable in batch mode

8 visualizzazioni (ultimi 30 giorni)
I have used application compiler in Matlab2023b to pack two executable applications (e.g. App1.exe, App2.exe).
I also chose the setting "Do not display the Windows Command Shell (console) for execution" in my project file for both of them.
App2.exe will be called inside one of the function in App1.exe, which is hard coded.
I want to run App1.exe in a batch mode and i also wrote a batch file with one command to run it.
In the terminal the console messages of App1.exe don't show up (which is expected), but the console messages of App2.exe still exist.
Actually i also tried in the batch file like "App1.exe >nul 2>&1" which makes the situation even worse, console messages of App1.exe also shou up after this adjustment. And i also already use the @echo off, but i think it was not the solution.
How can i also hide the console messages of the App2.exe?
btw. this problem didn't show in Matlab202b before.

Risposte (1)

Image Analyst
Image Analyst il 28 Ago 2024
Not sure what things are showing up but if you don't want any then make sure you have semicolons after every line, and don't use functions like fprintf to print stuff to the command window. If you want them displayed during development but not when the compiled executable is running then you can use isdeployed to switch the code, like
if ~isdeployed
fprintf('Running standalone executable');
pwd % Echo current folder to command window.
end
Wrap code that would otherwise be in the command window and shell window like above, and then it will only print stuff when in development mode, and not print while running the standalone executable.
  4 Commenti
Zheng
Zheng il 29 Ago 2024
I think you understand correctly, my batch file is just stored in a sub folder of the path of my App1.
Inside:
@echo off
...
echo Testing...
cd path
App1.exe !input var1! !input var2!
So each time i just click this bat, it will run my App1 directly, and also open an terminal window.
I just want it to show "Testing..." (which means the process is still going
but actually, the console messages of App2 is showing.
Maybe i can contact Matlab support, but bcs im not sure whether it was my fault or there is sth wrong for the Matlab2023b.
Image Analyst
Image Analyst il 29 Ago 2024
It doesn't matter whose "fault" it is, they will help you solve it. They can even set up a screen sharing session where they can see your screen and code.

Accedi per commentare.

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by