求助!批处理更改注册表下某个子项(由网络打印机安装产生的随机命名)路径下的值。

JieCW 2021-05-10 03:39:42
由于需要批量安装打印机,所以做了一个批处理。安装部分没有问题,但是施乐3370打印机安装完后,在注册表中生成一个子项, 无法利用reg add 指定路径,希望大佬能帮我解惑如何利用set赋值或其他更稳定的方法指定路径更改值。(注:后面随机的数不是打印机的地址和本机的地址。)如大佬能解惑这个随机值产生的原理也可。谢谢
...全文
1118 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
JieCW 2021-05-12
  • 打赏
  • 举报
回复

reg query "HKCU\Software\Fuji Xerox\FX Print Driver Data" | findstr \- > %tmp%\1

set /p X=<%tmp%\1 & del %tmp%\1


根据楼上的大佬修复后补全代码。
「已注销」 2021-05-11
  • 打赏
  • 举报
回复
一个reg add 只能添加一个项或一个值,不会赋值整个项表,值表。 什么'取到绝对的路径"?你要取哪个路径改哪个值,这个你不回答好我就不理了,你的语言描述要明朗啊。
JieCW 2021-05-11
  • 打赏
  • 举报
回复
引用 3 楼 我的大神666 的回复:
你的意思是根据".....\FX ...Data" 查到 "....\FX Apeos.....:...-...-...-...-...",然后赋值给X。

X值就是 reg add "....\FX Apeos.....:...-...-...-...-..."

对的,但是这个方法行不通,多个子项情况下,会赋值整个列表。所以有什么好的方法可以取到绝对的路径。
JieCW 2021-05-11
  • 打赏
  • 举报
回复
对的,但是这个方法行不通,多个子项情况下,会赋值整个列表。所以有什么好的方法可以取到绝对的路径。
「已注销」 2021-05-11
  • 打赏
  • 举报
回复
你的意思是根据".....\FX ...Data" 查到 "....\FX Apeos.....:...-...-...-...-...",然后赋值给X。 X值就是 reg add "....\FX Apeos.....:...-...-...-...-..."
JieCW 2021-05-11
  • 打赏
  • 举报
回复
引用 1 楼 我的大神666 的回复:
这个叫GUID,还有一个UUID
UUID:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx (8-4-4-16) 4组号码 x是0-f
GUID:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12) 5组号码 x是0-f
产生的原理:就是让每个x随机,保证唯一性不重复。
你这个guid项下面有子项,只能使用REG COPY HKLM\..... HKLM\..... /s 。

大佬,那有没有办法查询这个路径,并将其导入到"reg add" 命令中呢,我用了"set X =reg query"但是赋值包括了分段和空格,reg无法识别路径。而用偏移(%X:~n),却无法精确。请问有什么更好的的方法吗?
「已注销」 2021-05-11
  • 打赏
  • 举报
回复
findstr \- 转义就好,findstr -哈哈真没有用过。 我选择Windows都是 | grep
JieCW 2021-05-11
  • 打赏
  • 举报
回复
引用 9 楼 我的大神666 的回复:
reg query "...Data" | findstr - >%tmp%\1
set /p X=<%tmp%\1 & del %tmp%\1

就这个啊!

大佬,我的理解能力比较差,这个命令我不太了解,但是我用了一下,出现了错误。。

我查了一下帮助,没找到这个代码格式是什么意思,但是%tmp%引用我当前用户的临时文件夹。
---------------------------------------------
findstr - >%tmp%\1
FINDSTR: 错误的命令行
----------------------------------------------
「已注销」 2021-05-11
  • 打赏
  • 举报
回复
reg query "...Data" | findstr - >%tmp%\1
set /p X=<%tmp%\1 & del %tmp%\1
就这个啊!
JieCW 2021-05-11
  • 打赏
  • 举报
回复
我知道X赋值不是输出的结果,而是“set X=reg *********”这串命令,所以我想问有没有得到此路径的方法。
JieCW 2021-05-11
  • 打赏
  • 举报
回复
引用 6 楼 我的大神666 的回复:
一个reg add 只能添加一个项或一个值,不会赋值整个项表,值表。
什么'取到绝对的路径"?你要取哪个路径改哪个值,这个你不回答好我就不理了,你的语言描述要明朗啊。


如上图 我把“reg query”的赋值给X,但X的字符串包含了以上不能作为路径的值。我想实现如下图中可以赋值此路径。

「已注销」 2021-05-10
  • 打赏
  • 举报
回复
这个叫GUID,还有一个UUID UUID:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx (8-4-4-16) 4组号码 x是0-f GUID:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12) 5组号码 x是0-f 产生的原理:就是让每个x随机,保证唯一性不重复。 你这个guid项下面有子项,只能使用REG COPY HKLM\..... HKLM\..... /s 。

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧