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.

Я бы опубликовал это как комментарий к ответу Карла , но мне не хватает репутации, и я все еще думаю, что это ценно.

Другие вопросы по тегам