Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Error with tempname and tempdir

Asked by Razvan on 17 Jan 2013

Recently I noticed that tempname and tempdir are not working anymore on my computer. Any ideas about why I get the following error messages? I checked and I have the ...Local\Temp folder where it is supposed to be...

>> tmp_nam = tempname
Error using cd
Cannot CD to C:\Users\Razvan\AppData\Local\Temp (Name is nonexistent or not a directory).
Error in tempdir (line 31)
    curr_dir = cd(tmp_dir);
Error in tempname (line 18)
    dirname = tempdir;
>> tmp_folder = tempdir
Error using cd
Cannot CD to C:\Users\Razvan\AppData\Local\Temp (Name is nonexistent or not a directory).
Error in tempdir (line 31)
    curr_dir = cd(tmp_dir);

If I run Matlab "as Administrator" then the 2 commands work...

Thanks, Razvan

1 Comment

Image Analyst on 19 Jan 2013

Those commands work fine for me and I'm not running as administrator.

Razvan

Products

No products are associated with this question.

3 Answers

Answer by Walter Roberson on 17 Jan 2013

Possibly one of the directories along the way does not allow you read permission (or, if it was Unix, execute permission would be needed.) Use Windows Explorer to check the Security Settings on the path; also verify that the directory is owned by you.

2 Comments

Razvan on 17 Jan 2013

I use Windows 7. How can I check the security settings and what should I set there to have all the permissions necessary for Matlab to work? I noticed that if I run Matlab "as Administrator" then the 2 commands work...

Walter Roberson
Answer by Image Analyst on 19 Jan 2013

Those commands work fine for me and I'm not running as administrator.

>> tmp_nam = tempname
tmp_nam =
C:\Users\Razvan\AppData\Local\Temp\tpdcd91567_4e74_43ae_aaf4_64dec3b0aa6d
>> tmp_folder = tempdir
tmp_folder =
C:\Users\Razvan\AppData\Local\Temp\

Both the file and folder you're allowed to write to even if you don't have admin authority. What I don't understand is why it's trying to cd to the folder. The help says "tmp_folder = tempdir returns the name of the system's temporary folder, if one exists. This function does not create a new folder. " so it's not supposed to create it or change to it. Are you sure you didn't redefine them? What does "which -all tempdir" say?

8 Comments

Image Analyst on 20 Jan 2013

If you say cmd, what directory does it put you at when it opens the console window?

Razvan on 20 Jan 2013

C:\Users\Razvan>

Image Analyst on 7 May 2013

You do not have permission to write to that folder, I don't think. It has to be in the Documents subfolder of that.

Image Analyst
Answer by Razvan on 20 Jan 2013

I found the problem on another forum... The SYSTEM has to have full permissions in the TEMP folder... and somehow this was removed by some program... I added back the full permissions to SYSTEM and now it seems to work...

Thanks for your help!

1 Comment

Daniel Pereira on 7 May 2013

Thank you very much, I had the same problem and could not even run simulink, unless I run Matlab as administrator (which was a problem as files I opened from windows explorer were opening on a new instance of matlab).

Thanks everyone who helped us!

Razvan

Contact us