MATLAB Answers

Saving to root directory of windows 7

4 views (last 30 days)
Johan
Johan on 21 May 2011
Hi there.
I have a matlab function that saves using fprintf...and it works just fine saving anywere, exept I can't save in the root, that is 'c:\' which is exactly where it needs to be saved. I can ofcourse save it somewhere else and then copy it to the root and say 'yes' or whatever when windows as me for persmission and admin rights and so on...
but I NEED to code it so that matlab saves it to "c:\filename".
which brings me to my question, is there anyway to get matlab to tell windows to ask for the admin rights when trying to save the file? that is via coding...

  2 Comments

Daniel Shub
Daniel Shub on 21 May 2011
As a Linux user, I am not sure I can be much help. First, are you sure you need to save it to the root directory? Second, can you run MATLAB as root for this case?
Johan
Johan on 22 May 2011
well yes I have to save it to the root in this case, it's what the "task" is all about...sadly

Sign in to comment.

Accepted Answer

Johan
Johan on 26 May 2011
Solved it using !dir & mkdir c:\logdata which created a new folder on the root, and then after that used fprintf to ad file to the folder.
It isn't what I wanted to do, but still it's good enough to solve the problem

  3 Comments

Jason Ross
Jason Ross on 26 May 2011
A word of caution: Microsoft is giving you a not-so-subtle hint that this is not a good practice. I know that you mention that this is required for your task, and you have a solution ... but you might want to reconsider your design to write your files in a more acceptable location. Of course, I might also completely agree with design, as well :)
Johan
Johan on 26 May 2011
Yeah, I know it's not the best place, but when the user asks for it specifically, I don't want to argue, I wouldn't place it there either.
Jason Ross
Jason Ross on 26 May 2011
Yes, I have traveled the same road ... on some level you might consider it "job security" since you know they'll be back in the future :)

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 21 May 2011
Perhaps you could system() a runas command that copies the file to where it needs to go. I seem to recall that runas prompts for the password.

  2 Comments

Johan
Johan on 22 May 2011
Okay have been looking at the matlab help for system() and can't seem to find anything on doing runas or any similar, how would one do what you describe, syntax wise? or where can I get more info on the subject.
Walter Roberson
Walter Roberson on 22 May 2011
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/runas.mspx?mfr=true
It would simply be a Windows command-line that you submitted via system()
system(sprintf('runas /user:Administrator@YourComputerName move %s %s', oldfilename, newfilename))

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!