В частности, получение системного пути TEMP в C#
Я использую System.IO.Path.GetTempPath()
метод для извлечения временной папки из переменных среды. Однако я обнаружил, что это всегда будет возвращать переменную TEMP или TMP для текущего пользователя, если она существует, в противном случае она вернет системную переменную TEMP или TMP.
Есть ли способ всегда получить переменную System TEMP?
Мне известно о нескольких других вопросах о SO относительно метода Path.GetTempPath(), где ответы ссылаются на документацию MSDN о том, как этот метод решает, что возвращать. Мне известно о поведении этого метода из MSDN, и я спрашиваю, есть ли другой способ убедиться, что я получаю системную временную папку.
1 ответ
Возможно, вы ищете метод Environment.GetEnvironmentVariable.
Это использование дает вам пользовательскую папку% TEMP%:
Environment.GetEnvironmentVariable("TEMP");
например, C:\Users\MyUserName\AppData\Local\Temp
И это дает вам системную папку% TEMP%:
Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Machine);
такие как C:\WINDOWS\TEMP