标题: 系统自带CHM反译功能!
[打印本页]
作者: peterdocter
时间: 2007-4-19 02:35
标题: 系统自带CHM反译功能!
@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 ]
作者: huzixuan
时间: 2007-4-19 02:40
@echo off
for %%i in (%1) do (
echo 路径: %%~dpi
echo 文件名: %%~nxi
)
pause
详请看 for /?
作者: peterdocter
时间: 2007-4-19 03:48
多谢!我已经解决!同时送上一个不用其它工具直接反译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
很奇怪发现很多命令都要用短小路径才行!
想把它放在右击鼠标功能,不知道如何做?有相关注册表信息吗?
作者: estar
时间: 2007-4-19 04:24
貌似LS的代码写的麻烦了点~~
作者: peterdocter
时间: 2007-4-19 04:27
还有一点点问题就是如果chm文件中不存在空格就会多生成一个目录出来的!
set ChmDir=%%~nI
set Repace=%ChmDir:空格=为空%
如何写以上代码?
作者: zh159
时间: 2007-4-19 05:24
只对 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 ]