Является ли%PROGRAMDATA% одинаковым во всех версиях Windows?

Мне нужно выполнять скрипт каждый раз при загрузке Windows.
Я скопировал свой скрипт в папку: %PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Startup
Он работает для моего компьютера, но теперь я беспокоюсь, что он не может работать для всех версий Windows.
Может кто-нибудь сказать мне, если этот путь всегда один и тот же?

Любой совет будет очень полезным, спасибо.

2 ответа

Решение

Этот путь такой же, как в Windows 7 и выше.

Я не совсем уверен, работает ли он также на XP и более ранних версиях, потому что там папка Program Data находится не в C:\ProgramData, а в C:\Documents and Settings\All Users\Application Data\, и я не знаю из В какой версии окон они начали устанавливать переменные среды. Я думаю с 2000 года, но не уверен.

РЕДАКТИРОВАТЬ: только что проверил, в Windows 2000%ProgramData% не существует. Можно предположить, что в XP это не так.

Однако для обратной совместимости в Windows 7, 8 и 10 все еще работает следующий путь (через символические ссылки): C:\Documents and Settings\All Users\Application Data>

%PROGRAMDATA% был новым для Windows с Vista. В Windows XP это была папка "Локальные настройки" профиля "Все пользователи". Больше нет профиля All Users. Локальные AppData для всех пользователей были перемещены в \ProgramData, а папки с документами All Users были перемещены в Users\Public.

Также начиная с Vista, Microsoft поддерживала каталог профиля \Users\All Users, но папки в нем являются символическими ссылками NTFS на места, куда Microsoft переместила их.

Пока ваш скрипт никогда не будет работать на XP или более ранних версиях, все должно быть в порядке. Обратите внимание, что вам нужно продолжать использовать переменную окружения, поскольку она не всегда ссылается на C:\ProgramData (хотя в 99,99% случаев).

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