Конкретно начало пути Temp системы в C#

Я использую System.IO.Path.GetTempPath() метод для извлечения временной папки из переменных среды. Однако я нахожу, что это всегда будет возвращать переменную TEMP или TMP для текущего пользователя, если она существует, иначе она вернет системную переменную TEMP или TMP.

есть ли способ всегда получать системную переменную TEMP?

Я знаю несколько других вопросов о SO о пути.Метод GetTempPath (), где ответы ссылаются на документацию из MSDN о том, как этот метод решает, что вернуть. Я знаю о поведении этого метода из MSDN, и я спрашиваю, есть ли другой способ убедиться, что я получаю временную папку системы.

1 ответов


возможно, вы ищете окружающая среда.GetEnvironmentVariable метод.

это использование дает вам папку %TEMP% пользователя:

Environment.GetEnvironmentVariable("TEMP");

таких как C:\Users\MyUserName\AppData\Local\Temp

и это дает вам системы %TEMP% папка:

Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Machine);

как C:\WINDOWS\TEMP