无忧启动论坛

标题: 怎样才能让wimlib-imagex查看到wim的中文名称 [打印本页]

作者: 2012胡言乱语    时间: 2017-6-25 19:54
标题: 怎样才能让wimlib-imagex查看到wim的中文名称

前面是wimlib-imagex导出的, 后面是wim导出的 。  wimlib-imagex 显示名称怎么不显示中文名

作者: 527104427    时间: 2017-6-25 19:59
wimlib info --xml
作者: 2012胡言乱语    时间: 2017-6-25 21:45
能说的明白点吗  
EXEC =!cmd.exe /c wimlib-imagex.exe info --xml d:\ install.wim >a.txt

这怎么看啊

作者: 527104427    时间: 2017-6-25 21:46
@tegl
请允许我打个广告,到我博客下载CGI-plus,内置wimlib-imagex,是可以显示中文的,用的就是wimlib info --xml
作者: 527104427    时间: 2017-6-25 21:48
2012胡言乱语 发表于 2017-6-25 21:45
能说的明白点吗  
EXEC =!cmd.exe /c wimlib-imagex.exe info --xml d:\ install.wim >a.txt

用PECMD处理文本啊,方法有千百种,我是直接将><中间插个回车
作者: zhoubin    时间: 2017-6-26 07:41
527104427 发表于 2017-6-25 19:59
wimlib info --xml

老大,好想你啊,到那里去修炼了?
这么久才见到你!!!
作者: 2012jiashanni    时间: 2017-6-26 08:08
wimlibimagex.exe  info 安装文件路径  --extract-xml C:\Wimlib.xml   这个Wimlib.xml里就是有中文名称的卷信息
作者: 红毛樱木    时间: 2017-6-26 08:15
zhoubin 发表于 2017-6-26 07:41
老大,好想你啊,到那里去修炼了?
这么久才见到你!!!

他剃光头了
作者: 527104427    时间: 2017-6-26 11:48
zhoubin 发表于 2017-6-26 07:41
老大,好想你啊,到那里去修炼了?
这么久才见到你!!!

我在潜水啊,安心当个伸手党,多好啊
作者: 2012胡言乱语    时间: 2017-6-27 10:40
527104427 发表于 2017-6-26 11:48
我在潜水啊,安心当个伸手党,多好啊

方法有千百种 可惜我一种不会
作者: x9tian    时间: 2017-6-27 11:43
直截用批处理提取啊,for /f 语句
作者: 糊涂    时间: 2017-6-27 11:54
本帖最后由 糊涂 于 2017-6-27 12:09 编辑
527104427 发表于 2017-6-25 21:46
@tegl
请允许我打个广告,到我博客下载CGI-plus,内置wimlib-imagex,是可以显示中文的,用的就是wimlib i ...

5哥,这个版本是否是“最新”版?历史遗留问题





作者: 527104427    时间: 2017-6-27 12:51
本帖最后由 527104427 于 2017-6-27 12:53 编辑
糊涂 发表于 2017-6-27 11:54
5哥,这个版本是否是“最新”版?历史遗留问题


老兄能否提供测试PE和ISO的下载地址?我好改进程序

正常系统可以远程看看
作者: 糊涂    时间: 2017-6-27 13:21
527104427 发表于 2017-6-27 12:51
老兄能否提供测试PE和ISO的下载地址?我好改进程序

正常系统可以远程看看


PE环境也是两年前的大众WIN8X64PE,运行“贝壳”修改的3.2版本CGI可以正常运行,
在此环境下无法运行5哥修改的这个版本……


我把系统备份还原了一下,再次测试……
在系统环境下测试已经可以正常操作。


作者: 527104427    时间: 2017-6-27 13:43
糊涂 发表于 2017-6-27 13:21
PE环境也是两年前的大众WIN8X64PE,运行“贝壳”修改的3.2版本CGI可以正常运行,
在此环境下无法运行5 ...


纯x86的版本运行在x64系统中,ghost和wimlib-imagex无法热备份,挂载ISO的软件也不能正常使用,为了避免不必要的问题,就限制使用了。你可以用x64或自适应版。
如果这个限制不够人性化的话,可以解除的。
作者: 2012胡言乱语    时间: 2017-6-27 23:19
2012jiashanni 发表于 2017-6-26 08:08
wimlibimagex.exe  info 安装文件路径  --extract-xml C:\Wimlib.xml   这个Wimlib.xml里就是有中文名称的 ...

映像里有好几个分卷,导出后 里面所有文本就一行 太长了 pecmd命令不太好读啊
作者: 2012jiashanni    时间: 2017-6-28 00:12
2012胡言乱语 发表于 2017-6-27 23:19
映像里有好几个分卷,导出后 里面所有文本就一行 太长了 pecmd命令不太好读啊

我用易语言开发完成了!这也是我当初没将CGI修改成支持ESD中文的原因了 当时有几个小伙伴叫我改  但是我对PECMD不熟悉
作者: rzp428    时间: 2017-6-28 08:12
本帖最后由 rzp428 于 2017-6-28 08:22 编辑
527104427 发表于 2017-6-27 13:43
纯x86的版本运行在x64系统中,ghost和wimlib-imagex无法热备份,挂载ISO的软件也不能正常使用,为了避 ...


建议老师解除此限制,毕竟热备份者为数不多,大多是用在pe下,ISO挂载可以增加64位的软件,这样一个x86就可以应用多种环境,且体积小巧。
作者: 527104427    时间: 2017-6-28 11:25
rzp428 发表于 2017-6-28 08:12
建议老师解除此限制,毕竟热备份者为数不多,大多是用在pe下,ISO挂载可以增加64位的软件,这样一个x86 ...

改了
作者: rzp428    时间: 2017-6-28 11:29
527104427 发表于 2017-6-28 11:25
改了

谢谢老师,辛苦了。
作者: 527104427    时间: 2017-7-4 01:14
本帖最后由 527104427 于 2017-7-4 01:28 编辑
2012胡言乱语 发表于 2017-6-27 23:19
映像里有好几个分卷,导出后 里面所有文本就一行 太长了 pecmd命令不太好读啊



看你这么积极,我就好人当到底吧,用下面的代码即可显示中文。
要修正原版的问题不是那么简单的,我也是花了不少时间去研究它,毕竟不是自己的工具,不可能完全理解原作的意思。


SET$ &NLDD=0D 0A
TEAM ENVI &hTMPWimInfo=| ENVI &WIMINFO=| ENVI &HEX_WIMINFO=| ENVI &Wstr=| ENVI &aSIZE=| ENVI &aDESC=| ENVI &bDESC=| ENVI &szVol=
EXEC* -hide &WIMINFO=wimlib-imagex.exe info "Z:\sources\install.esd" --xml
CODE *,%&WIMINFO%,*UNICODE,&HEX_WIMINFO
SED &HEX_WIMINFO=0,0x0D 0x0A,0x0D 0x00 0x0A,%&HEX_WIMINFO%
CODE *UNI,%&HEX_WIMINFO%,**UNICODE,&WIMINFO
SED &WIMINFO=0,><,>%&NLDD%<,%&WIMINFO%
FORX *NL &WIMINFO,&vln,
{*
        MSTR * &F1=<1>&vln
        FIND $%&F1%=<IMAGE,
        {*
                SED &Lc=0,[="], ,%&vln%
                MSTR * &Wstr=<3>&Lc
        }
        LPOS* * &DISPOS=<TOTALBYTES>,1,&F1
        IFEX $%&DISPOS%=1,
        {*
                SED &Lc=0,[\>\<], ,%&vln%
                MSTR * &aSIZE=<2>&Lc
                Calc_Part &aSIZE %&aSIZE%
                ENVI &szVol=[%&aSIZE%]
        }
        LPOS* * &DISPOS=<NAME>,1,&F1
        IFEX $[ %&DISPOS%<>1 & '%&aDESC%'='' ], LPOS* * &DISPOS=<DISPLAYNAME>,1,&F1
        IFEX $%&DISPOS%=1,
        {*
                LPOS* * &cPOS1=>,1,&vln
                LPOS* * &cPOS2=<,2,&vln
                CALC #&cPOS1=%&cPOS1%+1
                CALC #&Lc=%&cPOS2%-%&cPOS1%
                MSTR * &aDESC=%&cPOS1%,%&Lc%,&vln
                SED &aDESC=0,\[,[,%&aDESC%
                SED &aDESC=0,\],],%&aDESC%
        }
        LPOS* * &DISPOS=<DESCRIPTION>,1,&F1
        IFEX $[ %&DISPOS%<>1 & '%bDESC%'='' ], LPOS* * &DISPOS=<DISPLAYDESCRIPTION>,1,&F1
        IFEX $%&DISPOS%=1,
        {*
                LPOS* * &cPOS1=>,1,&vln
                LPOS* * &cPOS2=<,2,&vln
                CALC #&cPOS1=%&cPOS1%+1
                CALC #&Lc=%&cPOS2%-%&cPOS1%
                MSTR * &bDESC=%&cPOS1%,%&Lc%,&vln
                FIND $%&bDESC%<>, ENVI &bDESC=描述:%&bDESC%
        }
        FIND $%&F1%=</IMAGE>, TEAM ENVI &hTMPWimInfo=%&hTMPWimInfo%%&Wstr%  %&aDESC% %&szVol%  %&bDESC%%&NLDD%| ENVI &Wstr=| ENVI &aSIZE=| ENVI &aDESC=| ENVI &bDESC=| ENVI &szVol=
}

_SUB Calc_Part
        ENVI &ax4=
        ENVI &ax1=%2
        CALC &ax1=%&ax1%
        FORX * 1099511627776T 1073741824G 1048576M 1024K 0B ,&ax2,
        {*
                ENVI &ax3=%&ax4%
                FIND $%&ax3%=, ENVI &ax3=KT
                MSTR &ax4=-1,1,%&ax2%
                SED &ax5=0,%&ax4%,,%&ax2%
                IFEX $%&ax1%>=%&ax5%,
                {*
                        CALC &ax6=%&ax1%/%&ax5%##01
                        TEAM ENVI &ax7=%&ax6%| ENVI &ax8=%&ax4%|
                        IFEX $%&ax6%>=1000, TEAM CALC &ax7=%&ax6%/1024##01| ENVI &ax8=%&ax3%|
                        EXIT
                }
        }
        FIND $%&ax8%<>,!! TEAM ENVI &ax8= %&ax8%| FIND $%&ax8%<>B, ENVI &ax8=%&ax8%B
        ENVI-ret %1=%&ax7%%&ax8%
_END

MESS. [%&hTMPWimInfo%]
作者: 2012胡言乱语    时间: 2017-7-4 10:08
哈哈哈 上次看你回答后,说将'><"中间插个回车,我就在不断的找方法,最后在网上找到了一个字符串工具sed,我用这个也解决了, 就是这个小工具压缩后有1m左右代码如下

   EXEC =!CMD.EXE /C %&gexlib% info --xml %1 >1.txt
    CODE -UNICODE,1.txt,-UTF8,2.txt
    EXEC =!CMD.EXE /C sed -i "s/></>\n</g" 2.txt
    CODE -UTF8,2.txt,-UNICODE,ppp.txt
    READ ppp.txt,**,&WIMINFO
    FILE 1.TXT
    FILE 2.TXT
    FILE ppp.TXT
    FORX *NL &WIMINFO,&vln,

先导出,在转换编码,在用sed修改2.txt ,这样就理顺了,在转换会编码,最后读取这个文本文件
在pecmd里看sed的说明,没看懂
刚才看了你给的代码 又对着说明看了一遍,有点理解了 谢谢老五了


作者: aimengyu    时间: 2017-7-9 23:16
527104427 发表于 2017-7-4 01:14
看你这么积极,我就好人当到底吧,用下面的代码即可显示中文。
要修正原版的问题不是那么简单的,我 ...


不知道怎么回事 在PE下备份  下拉栏找不到路径   手动栏只能备份成 GHO   不知道是不是PE问题

0.jpg (88.64 KB, 下载次数: 56)

0.jpg

1.jpg (132.95 KB, 下载次数: 55)

1.jpg

作者: 527104427    时间: 2017-7-10 19:12
aimengyu 发表于 2017-7-9 23:16
不知道怎么回事 在PE下备份  下拉栏找不到路径   手动栏只能备份成 GHO   不知道是不是PE问题

搜不到GHO,下拉列表还要出现什么东西吗?system.gho改个名字(abc.wim),很简单的嘛!
作者: wuhuayu    时间: 2017-8-25 21:39
本帖最后由 wuhuayu 于 2017-9-6 22:28 编辑

for
作者: huaqingyuan    时间: 2017-8-28 18:37
本帖最后由 huaqingyuan 于 2017-8-28 18:43 编辑

我也写了一个,
_SUB wiminfo
EXEC*  &ALL=!wimlib-imagex.exe info "%~1"  --xml
SET$ &NLDD=0D 0A
SED &ALL=0,><,>%&NLDD%<,%&ALL%
envi~  &&g=%2
FORX *NL &ALL,&&Vi,
{
MSTR -delims:< &a=<2>%&Vi%
MSTR -delims:> &e,&f=<1><2>%&a%
MSTR -delims:= &c,&d=<1><2>%&e%
find $%&c%=IMAGE INDEX,envi &g=%&g%%&NLDD% INDEX=%&d%
find $%&e%=NAME,envi &g=%&g% NAME="%&f%"
find $%&e%=TOTALBYTES,team CALC -base=10 &j=%f%/1048576|envi &g=%&g% size="%&j%M"
find $%&e%=DESCRIPTION,envi &g=%&g% 描述="%&f%"
find $%&a%=/IMAGE>,envi &g=%&g%%&NLDD%
}
envi-ret1 %2=%&g%
_END

call @wiminfo "c:\Intel.wim" &info
mess %&info%

输出结果在按照需求处理一下就好,有INDEX=X这样的行就是有用的行!




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3