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

 Respuesta aceptada

per isakson
per isakson el 13 de Ag. de 2015
Editada: per isakson el 13 de Ag. de 2015

2 votos

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 comentarios

Zoltán Csáti
Zoltán Csáti el 14 de Ag. de 2015
I looked into getenv before, but somehow I missed it. Thank you!
Rahul Sivagaminathan
Rahul Sivagaminathan el 18 de Abr. de 2022
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Introduction to Installation and Licensing en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 13 de Ag. de 2015

Comentada:

el 18 de Abr. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by