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

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

本帖最后由 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工具,无一例外都失败了,这里求助各位大佬,感激不尽!
1

评分人数

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

回复 2# flashercs

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

TOP

本帖最后由 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

评分人数

    • Nikki: 乐于助人技术 + 1
微信:flashercs
QQ:49908356

TOP

返回列表