[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 批处理配合regini如何在默认[17]时修改项权限?

目的是要用regini 来修改导出的注册表项的权限!
笼统的说是导出一个注册表项下的所有子项!且我只取其项名称!
详细:
1.能导出指定的注册表项,的名称,比如 [HKEY_LOCAL_MACHINE\SYSTEM]
2.我只需要导出注册表某一项即其子项下的,项名称“包括父项”。而其他的不要。键值什么的不需要!即过滤掉其他内容
3.也想过先导出所有然后过滤掉键值!但是水平有限,
(因没看到本论坛有相关帖子。所以浪费了大家时间深表歉意!如有人知道。请告诉方法或链接地址等。
还请版主解封此贴,或者干脆和谐掉此贴!让大家看到此贴被锁身为LZ真的很丢人!)


本人已经试过reg export命令,和regedit /e 命令。均达不到理想要求!还有通过百度,狗狗,谷歌搜索均达不到理想要求!

经7楼代码问题已经解决!
但是有产生了新的问题。在此补充说明。。。

由于要用regini 编辑ini文件批量修改权限。。
但是
1.此时如果要修改的注册表项权限为[17],即管理员无发对其访问!此时应该怎么对该项实行reg query,reg export
2.此时涉及到批量修改系继承权限!(貌似个人感觉)
3.如我此时要修改的是"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies"而他的默认权限是[17]
4.用regini命令已经满足不了需求,即使我们用regini修改其权限但因为他的子项权限依然是[17]此时我们用reg export仅能导出
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies"而其子项依然是[17]无法导出更不用说
reg query它了0,0(本人已经测试)!

5.那此时我们该怎么办 windows xp中是否有其他内部命令修改继承权限?

[ 本帖最后由 rivch 于 2010-4-23 23:35 编辑 ]

在线等达人的到来。。。。。。

TOP

能否举个例子说说reg export出来的东西你想保留哪些内容?

TOP

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDesktopCleanupWizard"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\NonEnum]
"{BDEADF00-C265-11D0-BCED-00A0C90AB50F}"=dword:00000001
"{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}"=dword:40000021
"{0DF44EAA-FF21-4412-828E-260A8728E7F1}"=dword:00000020

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ratings]
"Hint"="k"
"FileName0"="C:\\WINDOWS\\system32\\RSACi.rat*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ratings\.Default]
"Allow_Unknowns"=dword:00000000
"PleaseMom"=dword:00000001
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
"dontdisplaylastusername"=dword:00000000
"legalnoticecaption"=""
"legalnoticetext"=""
"shutdownwithoutlogon"=dword:00000001
"undockwithoutlogon"=dword:00000001
"LogonType"=dword:00000000

以上是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies项下所有导出结果!
我希望能保留
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\NonEnum]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ratings]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ratings\.Default]
。。。。。。
我的理解是这些是项名称。。。专业语言还请指教。
也就是能生产一个完全符合regini 语法的ini,我只需找方法在每个项名称后加权限代码即可。
当然是用批处理加- -。例子:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies] [17 1]
。。。。。。。。。
如以上格式!

TOP

以使用reg query查询为例,对其值可以:
1,使用for /f 解析,并判断第一个字符来判断输出
2,直接使用findstr判断行首字符

[ 本帖最后由 hanyeguxing 于 2010-4-23 22:37 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 5楼 的帖子

不知5楼达人,可否给出具体参考代码。供大家观摩?
1.可随达人心情给出具体代码。
2.也可给出大概代码。即说明语句。

TOP

例如
  1. reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies" /s |findstr /i "^HK"
复制代码
根据需要,还可以使用for /f对这个结果再处理,例如:
  1. for /F "delims=" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies" /s^|findstr /i "^H"') do >>123.ini echo.[%%a] [171]
复制代码

[ 本帖最后由 hanyeguxing 于 2010-4-23 22:44 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 7楼 的帖子

代码还有少许不解- -
因论坛禁止版聊,
所以还请5楼达人,留下联系方式。
或者屈尊加下本人QQ517167906

TOP

回复 7楼 的帖子

感谢您的帮助此问题已解决!
最终试验代码
for /F "delims=" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies" /s^|findstr /i "^H"') do >>123.ini echo.[%%a] [17 1]

获得成功!大体已经解决。其他有待研究!!
谢谢了咪那!
经7楼代码问题已经解决!
但是有产生了新的问题。在此补充说明。。。


由于要用regini 编辑ini文件批量修改权限。。
但是
1.此时如果要修改的注册表项权限为[17],即管理员无发对其访问!此时应该怎么对该项实行reg query,reg export
2.此时涉及到批量修改系继承权限!(貌似个人感觉)
3.如我此时要修改的是"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies"而他的默认权限是[17]
4.用regini命令已经满足不了需求,即使我们用regini修改其权限但因为他的子项权限依然是[17]此时我们用reg export仅能导出
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies"而其子项依然是[17]无法导出更不用说
reg query它了0,0(本人已经测试)!

5.那此时我们该怎么办 windows xp中是否有其他内部命令修改继承权限?

[ 本帖最后由 rivch 于 2010-4-23 23:35 编辑 ]

TOP

回复 8楼 的帖子

提技术问题==版聊?哪条版规说的?我也去学习一下。

TOP

  1. @echo off
  2. reg export HKEY_CURRENT_USER\Environment %temp%\RegExp.reg
  3. type %temp%\RegExp.reg | findstr "^\["
复制代码

TOP

有没人能透露下修改权限的所有命令?
1.regini
2.cacls
还有??

[ 本帖最后由 rivch 于 2010-4-24 00:18 编辑 ]

TOP

回复 11楼 的帖子

运行后所得:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Environment]
"TEMP"=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,4c,00,6f,00,63,00,61,00,6c,00,20,00,53,00,65,00,74,00,\
  74,00,69,00,6e,00,67,00,73,00,5c,00,54,00,65,00,6d,00,70,00,00,00
"TMP"=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,4c,00,6f,00,63,00,61,00,6c,00,20,00,53,00,65,00,74,00,74,\
  00,69,00,6e,00,67,00,73,00,5c,00,54,00,65,00,6d,00,70,00,00,00

无解

TOP

回复 12楼 的帖子

批处理命令findstr正则表达式的基本用法
http://bbs.bathome.net/thread-24-1-1.html

TOP

回复 13楼 的帖子

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Test>type test.bat
@echo off
reg export HKEY_CURRENT_USER\Environment %temp%\RegExp.reg
type %temp%\RegExp.reg | findstr "^\[" >result.ini

C:\Test>test.bat

操作成功结束

C:\Test>type result.ini
[HKEY_CURRENT_USER\Environment]

TOP

返回列表