I would like to get the path for directories containing % (like %MATLAB_ROOT%, %APPDATA%, etc.) in Windows. However, functions like fileparts cannot interpret the percent sign. Is there a way to make this possible within MATLAB, or the only solution is to call system commands?
Thanks, Zoli

 Risposta accettata

per isakson
per isakson il 13 Ago 2015
Modificato: per isakson il 13 Ago 2015
Use getenv, Environment variable to get values of environment variables of the underlying operating system, e.g.
>> getenv('OS')
ans =
Windows_NT
>> getenv('APPDATA')
ans =
C:\Users\poi\AppData\Roaming
%NAME% gets the value of NAME in the Command Prompt, e.g.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\poi>echo %APPDATA%
C:\Users\poi\AppData\Roaming
C:\Users\poi>
And there is the Matlab function, matlabroot
>> matlabroot
ans =
C:\Program Files\MATLAB\R2013b

2 Commenti

Zoltán Csáti
Zoltán Csáti il 14 Ago 2015
I looked into getenv before, but somehow I missed it. Thank you!
I have a follow up question, the getenv('APPDATA') function works if you are writing a program in matlab desktop. I want to compile my matlab program into an exe file using matlab compiler SDK. Once compiled and if i install the program in C drive then getenv('APPDATA') takes me to C\Program Files(x86) .... path but I want to go to C:\Users\poi\AppData\Roaming ... path.
So my question is - how can i get to C\Users\Username\AppData folder if my matlab exe file (compiled using matlab compiler sdk) is installed in C program files. Please help me.

Accedi per commentare.

Più risposte (0)

Categorie

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by