Я работаю над перестановкой ряда папок оболочки в Windows 7, чтобы использовать Dropbox для синхронизации набора машин.

Я хотел бы создать файл .reg, который я могу использовать для обновления местоположений этих папок, а не для того, чтобы вручную изменять их из пользовательского интерфейса, но я не хочу полагаться на то, что путь к домашней папке будет одинаковым каждый раз ,

Поэтому мой вопрос: возможно ли заменить значения REG_SZ в HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders на значения REG_EXPAND_SZ, задающие смещение от %HOME% вместо точного пути?

2 ответа2

1

Гах, игнорируй остальную часть этого ответа. Ключ реестра у вас там бесполезен. Это ничего не изменит с вашими папками оболочки. Черт, там даже есть значение:

альтернативный текст

Вы видите, Причина , по которой этот ключ существует и расположение папки оболочки были сохранены в реестре, что они изначально были сохранены там. Но поскольку был задокументированный способ получить их, это была деталь реализации. Explorer может по-прежнему обновлять эти значения для вашего удобства, так как многие приложения неправильно используют этот ключ, но вы все равно не должны его использовать. Возвращаясь к теме, поскольку это просто статический список, отражающий (или нет) то, что Explorer хранит в других местах, изменения там никак не повлияют на систему. Исследователь просто не заботится об этом. Изображение, которое вы пишете, где вы находитесь на листке бумаги каждый раз, когда вы идете куда-то. Вы волшебным образом всплываете в другом месте, когда кто-то еще пишет на этой бумаге?


От REG_SZ до REG_EXPAND_SZ: попробуйте, но не думайте, что это будет работать волшебным образом. Самому реестру нет дела до REG_SZ и REG_EXPAND_SZ - все это делается приложением, читающим данные. И так как это значение REG_SZ, я предполагаю, что вы не можете просто заменить его на REG_EXPAND_SZ и заставить его работать.

1

Просто предложение:

Вместо того, чтобы писать адаптируемый файл .reg, почему бы вам не написать файл .bat?
Файл .bat может использовать переменные окружения, а также изменять реестр.

Смотрите следующие статьи:

Управление реестром Windows из командной строки с помощью Reg.exe
Пакетные файлы - используйте REGEDIT для добавления, чтения или удаления значений реестра

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .