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

[其他] bat能不能:将16进制.reg转换为常见字符?谢谢

本帖最后由 yyz219 于 2023-10-9 12:42 编辑

原来(16进制————不是固定的):用“FSCapture”打开.reg:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Imagine.PNG\shell\用“FSCapture”打开]
@="用“FSCapture”打开"

[HKEY_CLASSES_ROOT\Imagine.PNG\shell\用“FSCapture”打开\command]
@=hex(2):44,00,3a,00,5c,00,31,00,ff,7e,72,82,6f,8f,f6,4e,5c,00,1a,59,92,5a,53,\
  4f,5c,00,93,62,fe,56,93,62,da,6e,a8,52,5c,00,93,62,da,6e,a8,52,46,00,53,00,\
  43,00,61,00,70,00,74,00,75,00,72,00,65,00,39,00,37,00,5c,00,46,00,53,00,43,\
  00,61,00,70,00,74,00,75,00,72,00,65,00,2e,00,65,00,78,00,65,00,20,00,25,00,\
  31,00,00,00
*******************************************************************************
希望运行批处理后,得到:用“FSCapture”打开.reg:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Imagine.PNG\shell\用“FSCapture”打开]
@="用“FSCapture”打开"

[HKEY_CLASSES_ROOT\Imagine.PNG\shell\用“FSCapture”打开\command]
@="D:\\1绿色软件\\多媒体\\抓图抓滚动\\抓滚动FSCapture97\\FSCapture.exe %1"
我是小白,希望老师多多帮助

注册表文件中,hex(2) 是可扩充字符串类型(REG_EXPAND_SZ),一般用于字符串里面包含有系统环境变量的场合 ...
WHY 发表于 2023-10-10 00:08


我试一试先 谢谢
我是小白,希望老师多多帮助

TOP

注册表文件中,hex(2) 是可扩充字符串类型(REG_EXPAND_SZ),一般用于字符串里面包含有系统环境变量的场合,比如包含 %WinDir% 等系统环境变量。

如果确定字符串不包含这些变量,可以这样:
  1. $srcFile = 'a.reg';   #源文件
  2. $dstFile = 'b.reg';   #目标文件
  3. $scriptBlock1 = {
  4.     param($a);
  5.     $s = $a.Value -replace '[\s\\]' -replace '00,00$';
  6.     $s = $s.Split(':', 2)[1];
  7.     $s = [regex]::Replace($s, '([0-9a-f]{2}),([0-9a-f]{2}),', $scriptBlock2);
  8.     return '="' + $s.Replace('\', '\\') + '"';
  9. }
  10. $scriptBlock2 = {
  11.     param($b);
  12.     return [char][int]('0x' + $b.Groups[2].Value + $b.Groups[1].Value);
  13. }
  14. $reg = '(?i)=hex\(2\):(?> *(?:[a-f0-9]{2},)+(?:\\\r\n)?)+00(?!,)';
  15. $str = (gc $srcFile -ReadCount 0) -join "`r`n";
  16. $str = [regex]::Replace($str, $reg, $scriptBlock1);
  17. sc $dstFile -Value $str -Enc Unicode;
  18. pause;
复制代码
2

评分人数

TOP

回复  yyz219
Batcher 发表于 2023-10-9 22:03

可以看得:
HKEY_CLASSES_ROOT\Imagine.PNG\shell\555
    (默认)    REG_SZ    555
    Icon    REG_SZ    D:\1绿色软件\多媒体\抓图抓滚动\抓滚动FSCapture97\FSCapture.exe

HKEY_CLASSES_ROOT\Imagine.PNG\shell\555\command
    (默认)    REG_EXPAND_SZ    D:\1绿色软件\多媒体\抓图抓滚动\抓滚动FSCapture97\FSCapture.exe %1
我是小白,希望老师多多帮助

TOP

回复 4# Batcher


    谢谢 试一试先
我是小白,希望老师多多帮助

TOP

回复 3# yyz219
  1. reg query "HKEY_CLASSES_ROOT\Imagine.PNG\shell" /s
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复  yyz219
Batcher 发表于 2023-10-9 21:18



    Microsoft Windows [版本 10.0.10586]
(c) 2016 Microsoft Corporation。保留所有权利。

X:\Windows\System32>reg query "HKEY_CLASSES_ROOT\Imagine.PNG\shell"

HKEY_CLASSES_ROOT\Imagine.PNG\shell\555
HKEY_CLASSES_ROOT\Imagine.PNG\shell\open
HKEY_CLASSES_ROOT\Imagine.PNG\shell\print

X:\Windows\System32>
我是小白,希望老师多多帮助

TOP

回复 1# yyz219
  1. reg query "HKEY_CLASSES_ROOT\Imagine.PNG\shell"
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表