Board logo

标题: [注册表类] (已解决)求助批处理注册表路径的问题 [打印本页]

作者: cbbos    时间: 2023-8-17 10:47     标题: (已解决)求助批处理注册表路径的问题

本帖最后由 cbbos 于 2023-8-21 17:35 编辑

这个reg添加注册表指定路径到"C:\\LuDa"怎么才能改成非指定的?比如这个.reg文件在哪添加的路径就在哪。有没有大佬了解这方面的能实现吗?
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Lud]
  3. "Setup Path"="C:\\LuDa"
复制代码

作者: Batcher    时间: 2023-8-17 12:00

回复 1# cbbos


test-1.bat 写入的值加上双引号
  1. @echo off
  2. %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("""%~f0""","::",,"runas",1)(close) & exit /b
  3. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Lud" /v "Setup Path" /t REG_SZ /d """%~dp0""" /f
复制代码
test-2.bat 写入的值不加双引号(注意代码里面的双引号位置比较特殊)
  1. @echo off
  2. %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("""%~f0""","::",,"runas",1)(close) & exit /b
  3. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Lud" /v "Setup Path" /t REG_SZ /d ""%~dp0 /f
复制代码

作者: cbbos    时间: 2023-8-17 18:15

本帖最后由 cbbos 于 2023-8-17 18:54 编辑
回复  cbbos


test-1.bat
Batcher 发表于 2023-8-17 12:00



  bat运行没反应,
作者: cbbos    时间: 2023-8-17 18:31

本帖最后由 cbbos 于 2023-8-17 18:56 编辑

回复 3# cbbos


貌似第一段代码有错误,导致运行不了。
作者: Batcher    时间: 2023-8-17 19:00

回复 3# cbbos


    Win7? Win10? Win11?
作者: cbbos    时间: 2023-8-17 19:02

回复  cbbos


    Win7? Win10? Win11?
Batcher 发表于 2023-8-17 19:00



    Windows10
作者: Batcher    时间: 2023-8-17 19:03

回复 6# cbbos


请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: cbbos    时间: 2023-8-17 19:21

回复  cbbos


请参考Q-01观察一下哪行代码在报错以及详细的报错信息:


如果需要上传截图,可以找 ...
Batcher 发表于 2023-8-17 19:03



    感谢已解决,通过报错发现默认的txt格式里面有的字符不能识别,换成U-8可以正常运行了
作者: cbbos    时间: 2023-8-17 19:59

回复  cbbos


    Win7? Win10? Win11?
Batcher 发表于 2023-8-17 19:00



    追问下大佬,1楼2楼这俩中方式有什么区别吗?2种方式都能正确创建注册表,但是第二种bat的方式,虽然看起来一切正常,路径也正确,但是识别不了路径下的文件。第一种reg导入的,或者手动在注册表新建的都可以识别
作者: Batcher    时间: 2023-8-17 20:29

回复 9# cbbos


    请分别使用两种方式修改之后,打开注册表编辑器,分别把它导出为1.reg和2.reg打包上传到网盘我看看。
作者: cbbos    时间: 2023-8-17 20:54

本帖最后由 cbbos 于 2023-8-17 21:42 编辑
回复  cbbos


    请分别使用两种方式修改之后,打开注册表编辑器,分别把它导出为1.reg和2.reg打包上 ...
Batcher 发表于 2023-8-17 20:29



    在注册表看没区别,导出来多了符号,代码如下

1
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Luda]
  3. "Setup Path"="C:\\LuDa"
复制代码
2
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Luda]
  3. "Setup Path"="\"C:\\LuDa\""
复制代码
已解决
"""%~dp0""" /f 修改为 ""%~dp0    /f

作者: /zhqsystem/zhq    时间: 2023-8-18 14:17

本帖最后由 /zhqsystem/zhq 于 2023-8-18 14:20 编辑

示例:[除HKCU内部分注册表其余注册表主项均需要管理员权限修改及其删除,特定注册表不允许删除或修改]
Reg.exe Add "HKLM\SOFTWARE\WOW6432Node\Lud" /v "Setup Path" /t REG_SZ /d "%~f0" /f
Reg.exe Add "HKLM\SOFTWARE\WOW6432Node\Lud" /v "Setup Path" /t REG_SZ /d "\"%~f0\"" /f
Reg.exe Add "HKLM\SOFTWARE\WOW6432Node\Lud" /v "Setup Path" /t REG_DWORD /d "0xFFFFF" /f
作者: Batcher    时间: 2023-8-18 14:43

回复 12# /zhqsystem/zhq


    楼主问题的难点在于bat以管理员身份运行自身的时候双引号的特殊用法,你分别试试2楼的两种写法就知道了。
作者: cbbos    时间: 2023-8-21 17:33

回复  /zhqsystem/zhq


    楼主问题的难点在于bat以管理员身份运行自身的时候双引号的特殊用法,你分 ...
Batcher 发表于 2023-8-18 14:43



   非常感谢,已经解决了,去掉前后引号完美解决,"""%~dp0""" /f 修改为 ""%~dp0    /f




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2