Мне было просто интересно узнать, знает ли кто-нибудь местоположение папки, что Windows, Mac и Linux (если каждый дистрибутив отличается от Ubuntu), все это могло быть использовано в качестве временного каталога. Если каждый из них имеет свой собственный, то кто-то может сказать мне временное местоположение для каждой ОС?Какой файл универсален для всех ОС?
ответ
Большинство операционных систем позволяют получить это из среды через environmental variable
. Например, в Windows вы можете увидеть значение для текущего входа в систему, открыв командную строку и набрав SET TEMP
или echo %TEMP%
и нажав . Введите.
Библиотеки времени выполнения или API-интерфейсы операционной системы обычно имеют функцию для извлечения папки TEMP
(или TMP
). В Windows API, например, есть функция GetTempPath()
.
Обратите внимание, что местоположение папки TEMP
изменяется на основе зарегистрированного пользователя в большинстве операционных систем. Например, в современных версиях Windows папка находится по умолчанию в C:\Users\<User>\AppData\Local\Temp
.
Так что нет универсального расположения папки, но в целом можно найти, задавая операционную систему или среду, в которой ваша программа в настоящее время запуска для расположения TEMP
пути.
Вы должны использовать переменные среды для каждой ОС для извлечения каталога временного каталога, так как это не то же самое для разных пользователей на одном компьютере, оставив одну ОС.
Хорошо, и для Mac/Linux вы рекомендуете использовать папку/temp или/var/temp для программы, которая удалит то, что существует менее чем за 5 минут после создания. – Maple
Вы можете столкнуться с проблемами разрешения, поэтому снова - безопаснее получать его из переменных окружения. –
Можете ли вы расширить, когда говорите переменные среды? Предполагая, что на компьютере есть временная папка, и если я найду ее, я не могу ее написать? – Maple