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

[注册表类] 【已解决】批处理如何取得注册表中项目的名称并完成删除操作?

本帖最后由 xinxing124 于 2018-9-2 20:32 编辑

例如注册表中存在如下项目和值,其中n不确定,
HKEY_CURRENT_USER\Software\Microsoft\Test\Find
FindTextFromEditor     REG_SZ                            1
Find                            REG_SZ                            ou
Find 1                         REG_SZ                            You
Find 2                         REG_SZ                            NT
Find 3                         REG_SZ                            CT
……
……
……
Find n                         REG_SZ                            MT
如何批处理列出所有的 Find——Find n 的项目名称,方便删除存在的项目。

上面的问题答案在 9楼 【已解决】
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

FindTextFromEditor     REG_SZ                            1
Find                            REG_SZ                            ou
Find 1                         REG_SZ                            You
Find 2                         REG_SZ                            NT
Find 3                         REG_SZ                            CT

结果与我所列相同的,
另外试过了:
For  /f "delims="  %%i in ('@Reg Query "HKEY_CURRENT_USER\Software\Microsoft\Test\Find"  /s ^|findstr /C:"Find " ') do  echo %%i
出现的结果是:
Find 1                         REG_SZ                            You
Find 2                         REG_SZ                            NT
Find 3                         REG_SZ                            CT
……
……
……
Find n                         REG_SZ                            MT

下面这种也试过也不行
skip=4 delims=REG tokens=2,*

TOP

输出的结果在附件,这里复制了一份

HKEY_CURRENT_USER\Software\Microsoft\Test\Find
    Find    REG_SZ    YU
    Find 1    REG_SZ    >
    Find 2    REG_SZ    {
    Find 60    REG_SZ    I
    FindTestFromEditor    REG_SZ    1

TOP

回复 5# WHY
是要取得前面的项目名称,如 Find、Find 1、Find 2等等,才好将这些不需要的项目进行删除

TOP

本帖最后由 xinxing124 于 2018-9-2 12:45 编辑

回复 4# Batcher
附件 文件在 6楼 看看有没办法,把这个项目名称取到 Find、Find 1、Find 2并删除这类临时记录的项目,文件中还包括些 Replace、Replace 1、Replace 2这种项目都是临时记录的也最好能一并删除。6楼附件中导出的是Find部分。 由于还存在 Replace、Replace 1、Replace 2这种要删除的项目 所以不能用 R作为分隔符使用,像是唯一的一个 只有判断以 4个连续空格 为分隔符的方式。
  1. reg delete "HKEY_CURRENT_USER\Software\Microsoft\Test" /v "Find "
  2. reg delete "HKEY_CURRENT_USER\Software\Microsoft\Test" /v "Replace "
  3. pause
复制代码
这种都是提示找不到项目。

这个分割的字符串如果是 "AB C<tab>" 又要如何写? AB C加tab键。

TOP

回复 9# zaqmlp

这个分割的字符串如果是 "AB C<tab>" 又要如何写? AB C加tab键。

TOP

回复 12# Batcher


  文件类似附件这种,用<tab>字符分割的:

TOP

回复 14# Batcher


  希望的结果是,全部取得第二列的值,然后对于第二列的值进行从小到大排序。取得最大值,最小值和平均值。

TOP

回复 16# Batcher


    可以了,谢了。

TOP

返回列表