yigeren 发表于 2019-11-12 23:42:24

求个修改注册表键值的CMD脚本

本帖最后由 yigeren 于 2019-11-14 20:49 编辑

假如注册表项A有2个名称为C和D,然后把D的键值添加到C的键值前面,C本来的键值也要保留

比如C的键值为123,D的键值为456,D的键值加到C的键值变为456空格123,或者也可添加到后面变为:123空格456

kkkssc 发表于 2019-11-13 04:26:10

窄口牛 发表于 2019-11-13 06:55:28

reg add /?

holley2008 发表于 2019-11-13 07:30:47

你给了个乱七八糟的假如,也只能回你个乱七八糟的答案了:
@echo off
for /f "tokens=根据实例定规则" %%i in ('reg query "根据实例定位置\A" ^| find /i "C"') do set "C=%%i"
for /f "tokens=根据实例定规则" %%a in ('reg query "根据实例定位置\A" ^| find /i "D"') do set "D=%%a"
reg add "根据实例定位置\A" /v "根据需求定C或D" /t 根据键值类型定参数 /d "%C% %D%" /f

说明:
%C% %D%就等于你的123 456
根据规则的不同,后面的%%i和%%a可能需要变成%%k和%%c

yigeren 发表于 2019-11-13 10:29:07

holley2008 发表于 2019-11-13 07:30
你给了个乱七八糟的假如,也只能回你个乱七八糟的答案了:
@echo off
for /f "tokens=根据实例定规则" %% ...

不好意思,我上个图应该比较直观吧

holley2008 发表于 2019-11-14 05:46:12

yigeren 发表于 2019-11-13 10:29
不好意思,我上个图应该比较直观吧

其实一样的...脚本右键以管理员方式运行即可

yigeren 发表于 2019-11-14 11:26:12

本帖最后由 yigeren 于 2019-11-14 11:30 编辑

holley2008 发表于 2019-11-14 05:46
其实一样的...脚本右键以管理员方式运行即可

有个小问题,ProductID数据中含有空格就只会取前面的数据,空格后面的数据就没了
ProductID:2601 123 123
脚本执行后ProductID数据变为All 2601正常应该是:All 2601 123 123

holley2008 发表于 2019-11-14 15:42:27

yigeren 发表于 2019-11-14 11:26
有个小问题,ProductID数据中含有空格就只会取前面的数据,空格后面的数据就没了
ProductID:2601 123 ...

前面换成tokens=1,2,*   
后面依次换成%%k和%%c

yigeren 发表于 2019-11-14 17:19:57

holley2008 发表于 2019-11-14 15:42
前面换成tokens=1,2,*   
后面依次换成%%k和%%c

可以了,万分感谢

holley2008 发表于 2019-11-14 19:29:43

yigeren 发表于 2019-11-14 17:19
可以了,万分感谢

解决了记得修改主题前面的求助为已解决

黑中见白 发表于 2019-11-14 20:26:17

制作pe吗

yigeren 发表于 2019-11-14 20:58:22

本帖最后由 yigeren 于 2019-11-15 00:06 编辑

黑中见白 发表于 2019-11-14 20:26
制作pe吗

呵呵,是用在那个desktopinfo软件的,在显示主板型号那里,用WMI命令格式在PE系统中,会找不到主板信息,然后检查了注册表中是有主板信息的,但在配置文件中用注册表格式命令,会显示2行主板信息,第一行显示品牌名称,第二行显示型号名称,我想让它只显示一行信息,所以才需要这么一个脚本来处理下键值的问题,会不会觉得多此一举{:1_201:}

yigeren 发表于 2019-11-14 21:05:13

holley2008 发表于 2019-11-14 19:29
解决了记得修改主题前面的求助为已解决

谢谢提醒,已修改.

2011goodluckwxl 发表于 2020-10-9 23:07:03

这个看起来非常不错,谢啦
页: [1]
查看完整版本: 求个修改注册表键值的CMD脚本