找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 9948|回复: 2

[注册表类] 【已解决】注册表文件转批处理后无法运行导入

[复制链接]
发表于 2025-1-24 11:40:47 | 显示全部楼层 |阅读模式
本帖最后由 Nikki 于 2025-1-24 14:57 编辑

注册表文件自身可以直接双击导入,但转换成批处理却不行,尝试的方法如下:

①将注册表用 reg2cmd.exe 等工具转换成 reg add 形式的命令再运行导入,带命令的 Command 子项未能导入:“指定的路径无效”、“找不到网络路径”。

②将注册表转换成 powershell -Command "XXXXXX" 的形式,再用批处理运行导入,报错结果同上。

③原样写入注册表内容到临时文件 %regfile%,然后再以 regedit /s %regfile% 命令导入,发现带命令的 Command 子项未能输出到临时文件中。

④将注册表以二进制或十六进制嵌入,这个看着就复杂而且后期也不便于直接在 notepad 编辑,所以放弃了...

注册表代码如下,作用是添加右键菜单项:
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\CopyContent]
  3. "Icon"="DxpTaskSync.dll,-52"
  4. "MUIVerb"="复制内容到剪切板"

  5. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\CopyContent\Command]
  6. @="mshta vbscript:createobject("shell.application").shellexecute("cmd.exe","/c clip < ""%1""","","open",0)(close)"

  7. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\GetHash]
  8. "Icon"="imageres.dll,-5372"
  9. "MUIVerb"="获取哈希值"

  10. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\GetHash\Command]
  11. @="mshta vbscript:createobject("shell.application").shellexecute("powershell.exe","-noexit write-host '""%1""';$args = 'md5', 'sha1', 'sha256', 'sha384', 'sha512', 'mactripledes', 'ripemd160'; foreach($arg in $args){get-filehash '""%1""' -algorithm $arg | select-object algorithm, hash | format-table -wrap}","","open",3)(close)"
复制代码
本人批处理小白,上述转换过程使用了 Copilot、GPT4o、通义千问、文心一言等AI工具,无一例外都失败了,这里求助各位大佬,感激不尽!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2025-1-24 14:03:14 | 显示全部楼层
本帖最后由 flashercs 于 2025-1-24 14:28 编辑

这是人干的活吗?多一个.reg文件怎么了?
  1. @echo off
  2. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\CopyContent" /v "Icon" /t REG_SZ /d "DxpTaskSync.dll,-52" /f
  3. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\CopyContent" /v "MUIVerb" /t REG_SZ /d "复制内容到剪切板" /f
  4. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\CopyContent\Command" /ve /t REG_SZ /d "mshta vbscript:createobject("shell.application").shellexecute("cmd.exe","/c clip ^< ""%%1""","","open",0)(close)" /f

  5. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\GetHash" /v "Icon" /t REG_SZ /d "imageres.dll,-5372" /f
  6. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\GetHash" /v "MUIVerb" /t REG_SZ /d "获取哈希值" /f
  7. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\GetHash\Command" /ve /t REG_SZ /d "mshta vbscript:createobject("shell.application").shellexecute("powershell.exe","-noexit write-host '""%%1""';$args = 'md5', 'sha1', 'sha256', 'sha384', 'sha512', 'mactripledes', 'ripemd160'; foreach($arg in $args){get-filehash '""%%1""' -algorithm $arg ^| select-object algorithm, hash ^| format-table -wrap}","","open",3)(close)" /f

  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Nikki + 1 乐于助人

查看全部评分

 楼主| 发表于 2025-1-24 14:54:24 | 显示全部楼层
回复 2# flashercs

感谢大佬相助!辛苦辛苦,没有单独用.reg是想把命令集成在一个文件中
刚把您的命令和我之前对比了,才发现没有用"^"转义"<"、"|",确实学到了,感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 13:56 , Processed in 0.011186 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表