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

[注册表类] [已解]如何将注册表中查到符合指定条件的注册表键路径赋给变量?

本帖最后由 huyou96 于 2016-10-22 11:46 编辑

在注册表里查找"HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID"所有子项中
默认值为空(默认值未设置)且含有“System.IsPinnedToNameSpaceTree”值的注册表键,
并把该注册表键的全路径
即HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}形式的字符串值
赋给一个变量?
1

评分人数

新手求教:

"HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID"的所有子项中
俩条件:
1. 既默认值为空(默认值未设置)
2. 又含有“System.IsPinnedToNameSpaceTree”值
符合条件的查询结果的注册表路径,即HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}形式的字符串值,赋给变量并echo显示出来,这个批处理怎么写?

TOP

本帖最后由 huyou96 于 2016-10-21 22:55 编辑

回复 3# aa77dd@163.com

谢谢大虾!太牛啦!!!
这么短时间内就把它搞掂,实在是炉火纯青的厚底子才能做到!受教啦!!!


我在 windows 10 运行结果如下:

HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}
请按任意键继续. . .

C:\WINDOWS\system32>

现在我又想多加一个条件,上述俩结果都符合我开贴设置的俩条件,
第一个还多含有SortOrderIndex值共仨值,第二个只有默认值跟System.IsPinnedToNameSpaceTree值共俩值,
但我还想要结果再多加一个筛选条件:该注册表键里仅仅含有这两个值,多出其他键值者将被排除,大虾可否再帮我筛选一下?
(这样的话就可把第一个结果刨除,只筛选出第二个来了。结果筛出唯一符合条件的一个。)

大虾真得很牛!在结果中筛选不容易,这里是我直接查询两个键的结果(很多行啊,Win10就是这样,OneDrive和库都加进了资源管理器,都符合条件,但OneDrive的类在这个项这里多出很多,而库却很“单纯”仅有俩值):


C:\WINDOWS\system32>reg query "HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"

HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
    (Default)    REG_SZ    OneDrive
    System.IsPinnedToNameSpaceTree    REG_DWORD    0x1
    SortOrderIndex    REG_DWORD    0x42

HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\DefaultIcon
HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\InProcServer32
HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\Instance
HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}\ShellFolder

C:\WINDOWS\system32>reg query "HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}"

HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}
    System.IsPinnedToNameSpaceTree    REG_DWORD    0x0


C:\WINDOWS\system32>

TOP

本帖最后由 huyou96 于 2016-10-21 21:09 编辑

附加说明一下,我要筛出该键不是用于骇客做坏事的。

看一下这个键值有什么用处就知道了:

HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}键下含有如下键值:

值    System.IsPinnedToNameSpaceTree
类型  REG_DWORD
数据  0=文件资源管理器导航窗格不显示库,1=文件资源管理器导航窗格显示库
默认  0x0(即系统默认情形下文件资源管理器导航窗格不显示库,但似乎系统有bug,我这里左侧导航窗仍显示了“库”)

TOP

大虾你好!我运行了一下,结果如下:

exclude
exclude
Press any key to continue . . .

C:\WINDOWS\system32>

是否  (echo;exclude) 这个没写全?“exclude” 在哪儿?

TOP

本帖最后由 huyou96 于 2016-10-21 22:19 编辑
回复  huyou96

确实有问题

因为没有过滤空行, 我改了, 并且又测试了下
aa77dd@163.com 发表于 2016-10-21 22:02



这次我这里跑的结果如下:

exclude
key=HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}
Press any key to continue . . .

C:\WINDOWS\system32>

看到HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}啦,但还有多余的一行

TOP

回复  huyou96

第 10 行改成
aa77dd@163.com 发表于 2016-10-21 22:32


OK! 这次行了,第十行改了后,结果如下:

key=HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}
Press any key to continue . . .

C:\WINDOWS\system32>

谢谢大虾!非常感谢!真是牛啊。祝晚安!
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -3

TOP

回复 11# huyou96

一时不当心就“引用”了,该处是该“回复的。谢谢版主!

TOP

本帖最后由 huyou96 于 2016-10-22 17:18 编辑

回复 13# WHY

讃!谢!(我弹尽粮绝了,级别也太低,没法评分了,否则会给予评分的……)
哈哈哈,还是PS强大啊,比起批处理来看似更简易好懂,实现起来也看似更容易。

对版主说的话:
请版主不要删楼上啊,虽然这位大虾贴错了论坛,但代码非常漂亮,具有启发啊。
殊途同归,无论PowerShell脚本还是批处理脚本无论黑猫白猫只要能达到目的就是好猫!

TOP

返回列表