中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 06:45
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 系统自带CHM反译功能! 查看 830 回复 5
楼 主 系统自带CHM反译功能! 发表于 2007-04-19 02:35 ·  IANA 局域网IP(Private-Use)
中级用户
★★
积分 379
发帖 95
注册 2003-07-17 00:00
23年会员
UID 7038
性别 男
状态 离线
@echo off
title "系统自带CHM反译功能!"
echo "注意chm文件中不能存在空格!"
echo "脚本编写:PeterDocter"
echo "2007-04-18"
path %windir%;%windir%\system32
echo Decompinling...
for /f "tokens=*" %%I in ("%1") do (
rem 短小Chm文件
set Chm=%%~nxsI
rem 创建完整目录
set ChmDir=%%~nI
rem 完整路径
set ChmPath=%%~dpI
)
rem 切换到目标路径
cd /d %ChmPath%
if not exist "%chmDir%" md "%chmDir%"
rem HH 反译参数
HH.EXE -decompile %chmDir% %Chm%
echo All files in the %chmDir%!
pause
exit
想加上右击鼠标功能可惜不知道如何做?还有chm文件存在空格时就比较麻烦!看一下哪位可以优化一个代码?

[ Last edited by peterdocter on 2007-4-19 at 04:38 AM ]
2 发表于 2007-04-19 02:40 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线

@echo off
for %%i in (%1) do (
echo 路径: %%~dpi
echo 文件名: %%~nxi
)
pause

详请看 for /?
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
3 发表于 2007-04-19 03:48 ·  IANA 局域网IP(Private-Use)
中级用户
★★
积分 379
发帖 95
注册 2003-07-17 00:00
23年会员
UID 7038
性别 男
状态 离线
多谢!我已经解决!同时送上一个不用其它工具直接反译chm!
@echo off
path %windir%;%windir%\system32
echo Decompinling...
for /f "tokens=*" %%I in ("%1") do (
rem 短小Chm文件
set Chm=%%~nxsI
rem 创建完整目录
set ChmDir=%%~nI
rem 反译短小目录
set ChmDe=%%~nsI
rem 完整路径
set ChmPath=%%~dpI
)
rem 切换到目标路径
cd /d %ChmPath%
if not exist "%chmDir%" md "%chmDir%"
rem HH 反译参数
HH.EXE -decompile %ChmDe% %Chm%
echo All files in the %chmDir%!
pause
exit
很奇怪发现很多命令都要用短小路径才行!
想把它放在右击鼠标功能,不知道如何做?有相关注册表信息吗?
4 发表于 2007-04-19 04:24 ·  中国 四川 成都 联通
中级用户
★★
积分 346
发帖 103
注册 2004-04-06 00:00
22年会员
UID 21852
性别 男
状态 离线
貌似LS的代码写的麻烦了点~~
5 发表于 2007-04-19 04:27 ·  IANA 局域网IP(Private-Use)
中级用户
★★
积分 379
发帖 95
注册 2003-07-17 00:00
23年会员
UID 7038
性别 男
状态 离线
还有一点点问题就是如果chm文件中不存在空格就会多生成一个目录出来的!
set ChmDir=%%~nI
set Repace=%ChmDir:空格=为空%
如何写以上代码?
6 发表于 2007-04-19 05:24 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
只对 chm 文件右键才出现“反译 CHM”项,不用另外再编bat文件
reg add "HKCR\chm.file\shell\反译 CHM\command" /ve /t reg_sz /d "hh.exe -decompile .\ %%1" /f


[ Last edited by zh159 on 2007-4-18 at 04:28 PM ]
论坛跳转: