2016-12-19 6 views
0

Я создаю скрипт для изменения целевых путей для нескольких пользовательских папок.Изменения в реестре через пакетный/.reg-файл не сохраняются после перезагрузки Windows 10

Вот мой REG-файл:

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"Personal"="C:\\Users\\%username%\\Google Drive\\Documents\\" 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"Desktop"="C:\\Users\\%username%\\Google Drive\\Desktop\\" 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"Downloads"="C:\\Users\\%username%\\Google Drive\\Downloads\\" 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"My Pictures"="C:\\Users\\%username%\\Google Drive\\Pictures\\" 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"Favorites"="C:\\Users\\%username%\\Google Drive\\Favorites\\" 

Это изменяет настройки идеально реестра. Тем не менее, я перезапускаю окно, и он по-прежнему будет по умолчанию %userprofile%\documents. Если я нажму вкладку свойств в папке, и когда я проверю реестр, она по-прежнему изменена из моего сценария. Если я сделаю это вручную, это сработает. Тем не менее, я пишу скрипт, чтобы запустить его на 50 машинах. Я сделал это раньше в XP без каких-либо проблем. Я понятия не имею, что я делаю неправильно.

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

Я также попытался синтаксис вроде этого:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] "Favorites"="C:\\Users\\%username%\\Google Drive\\Favorites\\" 
+0

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

+0

Я пробовал путь с% USERPROFILE% и пытался внести изменения как в оболочку, так и в оболочку пользователя. Я перезагрузил два компьютера с разными версиями Windows 10, мой скрипт не работает. Это должно быть что-то простое. Мне не хватает –

+0

. Я использовал инструмент «Whatchanged», чтобы контролировать параметр реестра, который изменился, когда был выполнен ручной процесс. Это был первый шаг, который я сделал. –

ответ

0

Б синтаксис предполагает REG_SZ тип данных:

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"Personal"="%USERPROFILE%\\Documents" 

Вам необходимо REG_EXPAND_SZ тип данных; оно должно быть следующим для вышеприведенного примера:

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] 
"Personal"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,\ 
    4c,00,45,00,25,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,00,74,00,73,\ 
    00,00,00 

Я бы использовать REG.exe в пакетном файле сценария, что-то вроде

@echo off 
SETLOCAL EnableExtensions 
set "_KeyName=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" 
reg add "%_KeyName%" /v Personal /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Documents" /f 

 Смежные вопросы

  • Нет связанных вопросов^_^