Board logo

标题: [注册表类] 求批处理更改注册表键值代码(键值需扫描) [打印本页]

作者: shiqu623    时间: 2012-7-22 12:30     标题: 求批处理更改注册表键值代码(键值需扫描)

求批处理更改此键值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-1844237615-484763869-1801674531-500]
注:键值名称需扫描
此段S-1-5-21-1844237615-484763869-1801674531-500中
S-1-5-21是固定不变的
1844237615-484763869-1801674531-500是随机的
也就是说要扫描到S-1-5-21才能找到S-1-5-21-1844237615-484763869-1801674531-500
最后更改扫描到的键值为
"ProfileImagePath"=hex(2):64,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,\
  00,6e,00,74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,\
  69,00,6e,00,67,00,73,00,5c,00,50,00,65,00,72,00,66,00,65,00,63,00,74,00,00,\
  00
"Sid"=hex:01,05,00,00,00,00,00,05,15,00,00,00,2f,d5,ec,6d,dd,e8,e4,1c,23,5f,63,\
  6b,f4,01,00,00
"Flags"=dword:00000001
"State"=dword:00000100
"CentralProfile"=""
"ProfileLoadTimeLow"=dword:e42809e2
"ProfileLoadTimeHigh"=dword:01cd67b2
"RefCount"=dword:00000001
"RunLogonScriptSync"=dword:00000000
"OptimizedLogonStatus"=dword:0000000b
作者: apang    时间: 2012-7-22 14:51

本帖最后由 apang 于 2012-7-22 15:00 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set "RegKey=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
  3. for /f "delims=" %%a in ('reg query "%RegKey%"^|find /i "%RegKey%\"') do (
  4.   set "RegName=%%~nxa"
  5.   if /i "!RegName:~,8!"=="S-1-5-21" (
  6.     reg add "%RegKey%\!RegName!" /v ProfileImagePath /t REG_EXPAND_SZ /d "d:\Documents and Settings\Perfect" /f
  7.     reg add "%RegKey%\!RegName!" /v Sid /t REG_BINARY /d 0105000000000005150000002FD5EC6DDDE8E41C235F636BF4010000 /f
  8.     reg add "%RegKey%\!RegName!" /v Flags /t REG_DWORD /d 0x1 /f
  9.     reg add "%RegKey%\!RegName!" /v State /t REG_DWORD /d 0x100 /f
  10.     reg add "%RegKey%\!RegName!" /v CentralProfile /t REG_SZ /f
  11.     reg add "%RegKey%\!RegName!" /v ProfileLoadTimeLow /t REG_DWORD /d 0xe42809e2 /f
  12.     reg add "%RegKey%\!RegName!" /v ProfileLoadTimeHigh /t REG_DWORD /d 0x1cd67b2 /f
  13.     reg add "%RegKey%\!RegName!" /v RefCount /t REG_DWORD /d 0x1 /f
  14.     reg add "%RegKey%\!RegName!" /v RunLogonScriptSync /t REG_DWORD /d 0x0 /f
  15.     reg add "%RegKey%\!RegName!" /v OptimizedLogonStatus /t REG_DWORD /d 0xb /f
  16.   )
  17. )
  18. pause
复制代码
本想用regedit一次性导入,但Win7下没成功,只好reg一项项添加了。
作者: shiqu623    时间: 2012-7-22 18:39

谢谢,我一会测试下
作者: shiqu623    时间: 2012-7-22 20:17

OK了 非常非常感谢
作者: shiqu623    时间: 2012-7-23 14:03

回复 2# apang


    非常感谢你昨天的热心解答 但是经过我后来测试 注册表键值有时候不修改直接创建新的键值 怎么办啊
作者: apang    时间: 2012-7-23 14:48

回复 5# shiqu623

没明白你的意思,请描述清楚
作者: shiqu623    时间: 2012-7-23 15:35

回复 6# apang

通过修改应答文件 XP安装版 把上图的文件夹装在D盘
但是在D盘本身就有Documents and Settings文件夹的情况下,系统会自动创建加后缀名称的文件夹,如下图

其中Perfect是用户文件夹。当D盘本身有Documents and Settings\用户文件夹\,系统安装时会自动创建带后缀名的同名文件夹,也就是说此时Perfect不是默认的用户文件夹了,默认的用户文件夹是Perfect.prrfect-pc。

请问:在此种情况下如何能让系统从新默认Perfect为用户文件夹。
此前通过批处理修改注册表实现,但是不稳定,不是每次都生效,有时还自动创建带后缀名的Perfect文件夹。
作者: apang    时间: 2012-7-23 16:36

你可以试试在修改ProfileImagePath键值之前加上判断,如果存在Perfect文件夹就删除或改名
作者: shiqu623    时间: 2012-7-23 16:44

回复 8# apang


    Perfect文件夹是备份文件夹不能删除 只能默认Perfect为用户文件夹 我估计可能是权限不够 能不能强制更改键值?
作者: shiqu623    时间: 2012-7-23 16:48

回复 8# apang


    我好像找到原因了这里reg add "%RegKey%\!RegName!" /v ProfileImagePath /t REG_EXPAND_SZ /d "d:\Documents and Settings\Perfect" /f
    应该是这样的reg add "%RegKey%\!RegName!" /v ProfileImagePath /t REG_EXPAND_SZ /d " d:\Documents and Settings\Perfect" /f
    少个空格 我试试看 一会给你回复
作者: shiqu623    时间: 2012-7-23 16:53

回复 9# shiqu623


    不是空格原因
作者: apang    时间: 2012-7-23 18:03

注册表键值有时候不修改直接创建新的键值


“有时候”是不是存在Perfect文件夹的时候?那本菜就无能为力了,呵呵。。。
作者: shiqu623    时间: 2012-7-23 20:06

回复 12# apang


    已经找到原因还是要谢谢你 呵呵




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2