[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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 编辑 ]

版主能把23L 24L删除吗?
谢谢

TOP

回复 23楼 的帖子

提示: 该帖被管理员或版主屏蔽

TOP

提示: 该帖被管理员或版主屏蔽
努力学习,努力挣分

TOP

回复 20楼 的帖子

在findstr的中,[]用来定义集合的,要想使[和]成为普通字符,需要\在findstr内转义。^是用来定义行首的。
1.假如这里"^"此符号是转义,那为什么不写成findstr "\^["??
2.如果这里是定义首行的,那么 findstr "^\[" >>result.ini此句是否可以理解为,寻找
首行为"\["开头的行,或字符串?
3.是否可以这样理解。当使用 findstr "\<xyz"或者findstr"xyz>\"时。我们要说明的字符为"[和]"时。要对"\"进行转义?
还是在这个时候,不仅要对"[和]",其他比如:"<" ">" "&" "|" 等一系列特殊符号使用findstr "\<xyz"或者findstr"xyz>\"时也要对"\"进行转义?
求解释 ~~~~(>_<)~~~~
本人资质愚钝,还请见谅?

[ 本帖最后由 rivch 于 2010-4-26 22:30 编辑 ]

TOP

那你搜索findstr
http://www.bathome.net/viewthrea ... p;highlight=findstr
我也不是很理解这里的写法,应该是我把他的代码理解错了
努力学习,努力挣分

TOP

在findstr的中,[]用来定义集合的,要想使[和]成为普通字符,需要\在findstr内转义。^是用来定义行首的。
下表列出 findstr 接受的元字符。
字符 值
. 通配符:任何字符
* 重复:以前字符或类的零次或多次出现
^ 行位置:行的开始
$ 行位置:行的结尾
[class] 字符类:集合中任何一个字符
[^class] 反类:不在集合中的任何一个字符

[x-y 范围:范围:指定范围内的任何字符
\x 取消:元字符 x 的文字用途
\<xyz 字位置:字首
xyz> 字位置:字尾
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 18楼 的帖子

如果可以的话,可否给出相关帖子的链接!
或者详细解释下为什么这里要转义!
很迷惑啊,这里不是for语句怎么会这样呢!!!

TOP

findstr的表达法:  \<xyz    字位置: 字的开始
我认为是首先“^”将“\”转义,然后“\”才能表示为以“[”为行首去查找。不过我不知道为什么这里要转义了

[ 本帖最后由 sgaizxt001 于 2010-4-25 02:37 编辑 ]

TOP

@echo off
reg export HKEY_CURRENT_USER\Environment %temp%\RegExp.reg
type %temp%\RegExp.reg | findstr "^\["

以上findstr "^\["不解。。。
"^"次符号在此处的作用不理解0 0
个人理解是分析首行是"\"的字符将被保存。怎么也想不到后面的"["关他什么事- -,而且。输出形式要保留的是"["开头的字符串,怎么会凭空冒出个"\"??
但是不加"\"只是"^["无法输出正确结果!
感觉此"^"甚难理解。。。for中有特殊用法莫非此处也有?
还求解释!!

[ 本帖最后由 rivch 于 2010-4-25 01:13 编辑 ]

TOP

回复 15楼 的帖子

所噶!
不得不佩服你!
太深度了(⊙_⊙)?琢磨中

[ 本帖最后由 rivch 于 2010-4-25 01:13 编辑 ]

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

回复 12楼 的帖子

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

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

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

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

TOP

返回列表