我制作了一个脚本来更改几个用户文件夹的目标路径。
这是我的.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中做过这个,没有任何问题。我不知道我做错了什么。
我也尝试在shell文件夹中更改它也无济于事。我运行了一个名为 whatchanged 的应用来捕获当我手动更改目标时正在修改的reg设置,但它捕获了70个更改!我已尝试以管理员身份运行它,在根C:\中创建一个文件夹,其中包含所有人的权限,但无济于事。
我也试过这样的语法:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] "Favorites"="C:\\Users\\%username%\\Google Drive\\Favorites\\"
答案 0 :(得分: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