setenv('TEMP') не влияет на вывод tempdir
Я пытаюсь установить временный каталог в MATLAB, используя setenv('TEMP','C:\Temp')
но, похоже, ничего не даст
Код
t = tempdir
setenv('TEMP','C:\Temp');
t = tempdir
Выход
t = C:\Users\KAR~1\AppData\Local\Temp\
t = C:\Users\KAR~1\AppData\Local\Temp\
Я не могу найти причину, почему я не могу установить каталог Temp таким образом.
2 ответа
Изменение кода на:
t = tempdir
clear all;
setenv('TEMP','C:\Temp');
t = tempdir
кажется, чтобы решить проблему.
Мы можем использовать 'clear tempdir', чтобы очистить только функцию tempdir (которая, помимо прочего, также используется tempname).
t = tempdir
clear tempdir;
setenv('TEMP','C:\Temp');
t = tempdir
'clear tempdir' очищает эту функцию вместе с постоянной переменной. Наличие этой постоянной переменной заставляет Matlab запоминать первое значение переменной среды временной папки, которое видела функция tempdir.
Я бы опубликовал это как комментарий к ответу Карла , но мне не хватает репутации, и я все еще думаю, что это ценно.