无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: lxl1638
打印 上一主题 下一主题

[V1.30.2011.501版]WimTool -- Wim文件的图形视窗处理工具[无忧首发]

    [复制链接]
121#
 楼主| 发表于 2007-7-21 17:06:25 | 显示全部楼层
图很大,你慢慢看,制作时用 ImageX 加的卷名,描述是 WimTool 改的。

未命名.PNG (70.01 KB, 下载次数: 151)

未命名.PNG
回复

使用道具 举报

122#
 楼主| 发表于 2007-7-21 18:24:24 | 显示全部楼层
原帖由 jl580650 于 2007-7-21 05:55 PM 发表
那个排除列表真不知道怎么搞
[ExclusionList]下添加了一句ultraiso\*,捕获C:\Program Files
用imagex捕获没有排除掉,用wimtool捕获把ultraiso下的所有文件排除掉了(子目录和子目录下的文件都在)


本人简单说一下规则,前面5条是官方(ImageX)定义的,后面4条可能官方(ImageX)没有这样的定义,WimTool默认使用前面5条(ImageX)定义的,也支持后面4条。红色的数字为序号,在配置文件中要省去,这里为了方便说明加上了序号。

1   *.Ext

2   \Path1\Path2
3   \Path1\Path2\*
4   \Path1\Path2\FileName.ext
5   \Path1\Path2\*.ext

6   Path1\Path2
7   Path1\Path2\*
8   Path1\Path2\FileName.ext
9   Path1\Path2\*.ext


解说
1、所有的某种类型文件;

2~5,前面第一个字符是"\",表示绝对位置(相对“根”的绝对位置),如你的“根”是 C:\Path0 ,那么这第一个"\"就用 C:\Path0\ 替换;
6~9,前面第一个字符不是“\”,表示相对位置(相对任意目录的位置),如 C:\AA\Path1\Path2、C:\BBB\Path1\Path2、C:\CCC\DDD\Path1\Path2都与Path1\Path2匹配。

2和6、某目录下的所有文件及其所有子目录下的所有文件;
3和7、某目录下的所有文件(不包括其子目录);
4和8、特定的文件(这个实质是文件全名);
5和9、某目录下的某类文件(不包括其子目录);

[ 本帖最后由 lxl1638 于 2007-7-21 06:45 PM 编辑 ]
回复

使用道具 举报

123#
 楼主| 发表于 2007-7-21 22:36:56 | 显示全部楼层
原帖由 nn2nn 于 2007-7-21 08:42 PM 发表
ImageX /XML /Info D:\Test.WIM > C:\Test.TXT

加 /XML, C:\Test.TXT的信息是对的,
但ImageX /Info D:\Test.WIM > C:\Test.TXT
C:\Test.TXT的信息是错的。

不知道是哪一个更标准。也不知道会有这种情 ...


加了 /XML后才支持 Unicode 编码,才能正确显示有中文名的信息,否则是以ANSI编码输出,中出现中文处断了。
回复

使用道具 举报

124#
 楼主| 发表于 2007-7-21 22:57:38 | 显示全部楼层
是的,有人在远景论坛发了个英文版WimTool。本人也希望能出个英文版。

回 nn2nn,你看一下完全由Imagex的命令行生成WIM时设置的中文卷名和描述,不加 /XML 时,
ImageX 自己也不能将信息输出,图很大,高度是满屏。

另,但加了 /XML 输出就可以显示中文了,用ImageX生成有中文名的WIM,完全可以被WimTool读出。

[ 本帖最后由 lxl1638 于 2007-7-21 10:59 PM 编辑 ]

未命名.PNG (23.43 KB, 下载次数: 141)

未命名.PNG
回复

使用道具 举报

125#
 楼主| 发表于 2007-7-21 23:07:03 | 显示全部楼层
原帖由 sunhunw 于 2007-7-21 11:03 PM 发表
双语支持更显高手本色.


本人鸟语很烂,想都不敢想,可否由你来将WimTool英文化?
回复

使用道具 举报

126#
 楼主| 发表于 2007-7-21 23:22:02 | 显示全部楼层
希望下载了的多作测试,现在的WimTool制作WIM时可以通过配置文件的排除规则来确定哪些文件不被捕获到WIM内。

如果执行这个配置文件定义的规则没有错误,下次更新将加上与排除规则相反的功能(匹配规则),与规则匹配的文件才被捕获到WIM内,如有可能,也将排除规则和匹配规则应用于制作WIM、解开WIM(与规则匹配的文件才展开到硬盘)等。

或者大家对这个规则作些补充和完善,规则是人定的,无忧也可以定义这个规则和标准。

[ 本帖最后由 lxl1638 于 2007-7-21 11:24 PM 编辑 ]
回复

使用道具 举报

127#
 楼主| 发表于 2007-7-22 00:46:58 | 显示全部楼层
原帖由 jl580650 于 2007-7-21 06:55 PM 发表
:) 了解了.....
测试了一下imagex
只有7和9 imagex不支持
3和5 imagex操作时是包括子目录的



又给你弄晕了:
1   *.Ext

2   \Path1\Path2
3   \Path1\Path2\*
4   \Path1\Path2\FileName.ext
5   \Path1\Path2\*.ext

6   Path1\Path2
7   Path1\Path2\*
8   Path1\Path2\FileName.ext
9   Path1\Path2\*.ext


3包括子目录的话,不就和2重复一样了?或者ImageX没有定义上面的第2条,它用第3条?
5包括子目录有一定的理由,如果ImageX的第3条包括子目录,那么WimTool下次更新时也
包括子目录,但要加多2条规则,表示不包括子目录的。
  
  Path1\Path2\*.*
  \Path1\Path2\*.*

若有空,你帮本人再测试一次,上面的第3条和第5条在ImageX里是不是包括子目录。

[ 本帖最后由 lxl1638 于 2007-7-22 12:51 AM 编辑 ]
回复

使用道具 举报

128#
 楼主| 发表于 2007-7-22 10:27:44 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 10:15 AM 发表
2和3的区别是
2会排除path2这个目录
3只会排除path2目录下的文件和文件夹,只留一个空的path2目录

\Path1\Path2\*.*等同于\Path1\Path2\*
Path1\Path2\*.*等同于Path1\Path2\*(当然,imagex并不支持)



第一点:2排除Path2这个目录,是不是Path2整个目录都被删(不出现)?
第二点:ImageX支持的是Path1\Path2\*.*而没有Path1\Path2\*这样的定义?

你能否详细列出ImageX支持的这些规则出来?

[ 本帖最后由 lxl1638 于 2007-7-22 10:29 AM 编辑 ]
回复

使用道具 举报

129#
 楼主| 发表于 2007-7-22 10:50:27 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 10:40 AM 发表
第一点:2排除Path2这个目录,是不是Path2整个目录都被删(不出现)?

=====================
除了7和9,其他imagex都支持
Path1\Path2\*.*等同于Path1\Path2\*是本人估计的(因为\Path1\Path2\*.*等同于\P ...


初步定出了20条,你看那些与ImageX冲突或不符的,再看那些ImageX已有,但这20条中没有出现的,补充一下:
01  *.Ext                     //所有目录的所有某类型文件
02  FileName.*                //所有目录的所有指定基本名的所有文件

03  \Path1\Path2              //某目录及其所有子目录的所有文件
04  \Path1\Path2\*.*          //某目录的所有文件(不包括它的子目录)
05  \Path1\Path2\?.ext        //某目录下指定扩展名的所有文件(不包括它的子目录)
06  \Path1\Path2\*.ext        //某目录下指定扩展名的所有文件(包括它的所有子目录)
07  \Path1\Path2\FileName.?   //某目录下指定基本名的所有文件(不包括它的子目录)
08  \Path1\Path2\FileName.*   //某目录下指定基本名的所有文件(包括它的所有子目录)
09  \Path1\Path2\?PartName?.? //某目录下文件基本名含特征字符串的所有文件(不包括它的子目录)
10  \Path1\Path2\?PartName?.* //某目录下文件基本名含特征字符串的所有文件(包括它的子目录)
11  \Path1\Path2\FileName.ext //特定的文件

12  Path1\Path2               //某目录及其所有子目录的所有文件
13  Path1\Path2\*.*           //某目录的所有文件(不包括它的子目录,省略Path1、Path2时匹配所有文件)
14  Path1\Path2\?.ext         //某目录下指定扩展名的所有文件(不包括它的子目录)
15  Path1\Path2\*.ext         //某目录下指定扩展名的所有文件(包括它的所有子目录)
16  Path1\Path2\FileName.?    //某目录下指定基本名的所有文件(不包括它的子目录)
17  Path1\Path2\FileName.*    //某目录下指定基本名的所有文件(包括它的所有子目录)
18  Path1\Path2\?PartName?.?  //某目录下文件基本名含特征字符串的所有文件(不包括它的子目录)
19  Path1\Path2\?PartName?.*  //某目录下文件基本名含特征字符串的所有文件(包括它的子目录)
20  Path1\Path2\FileName.ext  //特定的文件(如果省略Path1、Path2,则匹配所有的FileName.ext)

21  \Path1\Path2\*            //某目录的所有文件(不包括它的子目录,同04,WimTool原来的定义)
22  Path1\Path2\*             //某目录的所有文件(不包括它的子目录,同12,WimTool原来的定义)

21、22条,如果ImageX不支持准备也取消,使用04和12。
以"\"开头的是绝对位置,第1个字符不是"\"是相对位置。

[ 本帖最后由 lxl1638 于 2007-7-22 10:58 AM 编辑 ]
回复

使用道具 举报

130#
 楼主| 发表于 2007-7-22 12:34:25 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 11:32 AM 发表
imagex支持下面这些
:( 另外上面的那个[ExclusionException]问题帮忙看一下


这里有两个问题:
1、[ExclusionException]的意义,究竟是覆盖还是例外?
2、网上很多地方翻译为覆盖,是整表覆盖还是条目覆盖?

而英文Exception的意思是例外,就是[ExclusionException]定义的条目可以使[ExclusionList]定义的相同条目不起作用。

本人在WimTool中按整表覆盖处理的,如果是例外,则很多地方的代码要改写。
回复

使用道具 举报

131#
 楼主| 发表于 2007-7-22 12:41:20 | 显示全部楼层
我考,我晕,要知道一个文件或一个目录究竟匹配哪一条规则,虽思路算法很低级,但繁多的逻辑判断使人头大!
回复

使用道具 举报

132#
 楼主| 发表于 2007-7-22 12:47:01 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 11:32 AM 发表
imagex支持下面这些
\Path1\Path2      //某目录(相当于删除path2)//可以使用相对位置path1\path2
\Path1\Path2\*      //某目录下所有子目录及其文件(相当于留下空的path2)


真搞不懂,这两条不是一样了的?第2条留下空的path2有什么意义?

另,ImageX有没有这样的定义:

Path1\Path2\?FilePartName?.?ExtPartName?

文件基本名和扩展名含一定特征的一类文件?

[ 本帖最后由 lxl1638 于 2007-7-22 12:51 PM 编辑 ]
回复

使用道具 举报

133#
 楼主| 发表于 2007-7-22 12:57:00 | 显示全部楼层
你这样试验没有作用,在[ExclusionException]和[ExclusionList]都放入相同的条目试试。

[ExclusionList]本身就是排除列表,在这个表内的会被排除。
回复

使用道具 举报

134#
 楼主| 发表于 2007-7-22 13:09:10 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 12:54 PM 发表
经测试,[ExclusionException]是例外,[ExclusionException]定义的条目可以使[ExclusionList]定义的相同条目不起作用
:lol 老九,上面的imagex定义规则看懂没有,本人语文不太好,有可以能说的不太清楚;P 不明白 ...


不管了,自定一套(20条),如果与SB-MS的有冲突,那本人定义的这些规则就是无忧规则,无忧标准!

01  \Path1\Path2              //某目录及其所有子目录的所有文件(相当于删除整个Path2)
02  \Path1\Path2\*            //某目录的所有文件(包括它的子目录,留下空的Path2)
03  \Path1\Path2\*.*          //某目录的所有文件(不包括它的子目录)
04  \Path1\Path2\?.ext        //某目录下指定扩展名的所有文件(不包括它的子目录)
05  \Path1\Path2\*.ext        //某目录下指定扩展名的所有文件(包括它的所有子目录)
06  \Path1\Path2\?PartName?.? //某目录下文件基本名含特征字符串的所有文件(不包括它的子目录)
07  \Path1\Path2\?PartName?.* //某目录下文件基本名含特征字符串的所有文件(包括它的子目录)
08  \Path1\Path2\FileName.?   //某目录下指定基本名的所有文件(不包括它的子目录)
09  \Path1\Path2\FileName.*   //某目录下指定基本名的所有文件(包括它的所有子目录)
10  \Path1\Path2\FileName.ext //特定的文件

11  Path1\Path2               //某目录及其所有子目录的所有文件(相当于删除整个Path2)
12  Path1\Path2\*             //某目录的所有文件(包括它的子目录,留下空的Path2)
13  Path1\Path2\*.*           //某目录的所有文件(不包括它的子目录)
14  Path1\Path2\?.ext         //某目录下指定扩展名的所有文件(不包括它的子目录)
15  Path1\Path2\*.ext         //某目录下指定扩展名的所有文件(包括它的所有子目录)
16  Path1\Path2\?PartName?.?  //某目录下文件基本名含特征字符串的所有文件(不包括它的子目录)
17  Path1\Path2\?PartName?.*  //某目录下文件基本名含特征字符串的所有文件(包括它的子目录)
18  Path1\Path2\FileName.?    //某目录下指定基本名的所有文件(不包括它的子目录)
19  Path1\Path2\FileName.*    //某目录下指定基本名的所有文件(包括它的所有子目录)
20  Path1\Path2\FileName.ext  //特定的文件


前10条是绝对路径,后10条是相对路径,11~12,若省略Path1\Path2则匹配所有目录,小心了!
13~20,若省略Path1\Path2\则匹配所有的对应文件,小心!如 *.RAR 匹配所有的RAR文件。

如果有需要,再加两条:
21  \Path1\Path2\?FilePartName?.?ExtPartName?
22  Path1\Path2\?FilePartName?.?ExtPartName?

[ 本帖最后由 lxl1638 于 2007-7-22 01:10 PM 编辑 ]
回复

使用道具 举报

135#
 楼主| 发表于 2007-7-22 13:30:58 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 01:11 PM 发表
imagex支持\Path1\Path2\?FilePartName?.?ExtPartName?


可否写一个具体的表达示例出来?
\Path1\Path2\?FilePartName?.?ExtPartName?

可两组不同颜色(红色和蓝色)的"?",任一组省去一个"?"都可以表达出它的意思了,有没有必要每组"?"都要写出两个?
回复

使用道具 举报

136#
 楼主| 发表于 2007-7-22 13:37:30 | 显示全部楼层
原帖由 jl580650 于 2007-7-22 01:32 PM 发表
:victory: 对于[ExclusionList]和[ExclusionException]出总结性报告(imagex下)
[ExclusionException]下存在的条目会注释掉[ExclusionList]下相同的条目(必须相同,差一个字也不行,相同意思也不行)
比如
[Ex ...


这实质是例外列表了,在[ExclusionException]中有*.sys,所有的*.SYS文件在[ExclusionList]中都不起作用。
你按你这个表,把pagefile.sys放到某个目录下,用ImageX试试。
回复

使用道具 举报

137#
 楼主| 发表于 2007-7-22 15:20:19 | 显示全部楼层
原帖由 netwinxp 于 2007-7-22 02:51 PM 发表
如果我想排除除1.avi外的所有avi文件看来是有点难度了:lol


除非加多一个列表[EspecialList]特殊列表,表明这个表中的文件属特殊情况,不被[ExclusionException]和[ExclusionList]覆盖。
回复

使用道具 举报

138#
 楼主| 发表于 2007-7-22 20:52:35 | 显示全部楼层
原帖由 netwinxp 于 2007-7-22 02:51 PM 发表
如果我想排除除1.avi外的所有avi文件看来是有点难度了:lol


总算搞明了,微软是这样定义的:
匹配[ExclusionException]的将优先捕获到WIM映像内,不管它是否匹配[ExclusionList]。

按这样,很容易做到某类个别文件捕获到WIM映像内,而这类文件的其它文件不被捕获到WIM映像内,
如将 \Path1\ABC.RAR 放入[ExclusionException],将 *.RAR 放入[ExclusionList],则只有 \Path1\ABC.RAR
被捕获到WIM映像内,而其它的 *.RAR 文件不会被捕获到WIM映像内。

如果要相反,将除 \Path1\ABC.RAR 以外的其它RAR文件捕获到WIM映像内,只需将 \Path1\ABC.RAR 放入[ExclusionList]即可。
回复

使用道具 举报

139#
 楼主| 发表于 2007-7-22 21:00:38 | 显示全部楼层
由于[ExclusionException]是优先应用的列表,因此也很容易做到备份系统时只捕获某类文件,而其它文件不作捕获,如将 *.EXE、*.DLL放入[ExclusionException],将 *.* 放入[ExclusionList],则只捕获EXE和DLL文件到WIM内。

同样,也可根据[ExclusionException]优先应用的规则,定义只解开某类文件,如将 *.EXE、*.DLL放入[ExclusionException],将 *.* 放入[ExclusionList],则只解开映像中的EXE和DLL文件。

[ 本帖最后由 lxl1638 于 2007-7-22 09:01 PM 编辑 ]
回复

使用道具 举报

140#
 楼主| 发表于 2007-7-22 21:53:38 | 显示全部楼层
准备将这个配置文件规则也应用到解开映像的功能上,可以根据配置文件来定义需要解压出的文件,目前有这个打算,不知微软的API是否支持。
明天吧,今天有点累,现在在网上到处转。
回复

使用道具 举报

141#
 楼主| 发表于 2007-7-23 10:45:10 | 显示全部楼层
jl580650、netwinxp等大侠,如果有空,再用 ImageX 测试(4次),在[ExclusionList] 分别放入

\Path1\Path2
\Path1\Path2\
\Path1\Path2\*
\Path1\Path2\*.*

看看这四种情况结果是如何的,又有什么不同?
回复

使用道具 举报

142#
 楼主| 发表于 2007-7-23 11:12:11 | 显示全部楼层
原帖由 jl580650 于 2007-7-23 11:06 AM 发表
\Path1\Path2和\Path1\Path2\相同,排除整个path2目录
\Path1\Path2\*和\Path1\Path2\*.*相同,留下个空的path2
\Path1\Path2
\Path1\Path2\
\Path1\Path2\*
\Path1\Path2\*.*

这四条中都没有一条留下 Path2 的下级子目录的?或者哪条留下 Path2 的下级子目录?

[ 本帖最后由 lxl1638 于 2007-7-23 11:13 AM 编辑 ]
回复

使用道具 举报

143#
 楼主| 发表于 2007-7-23 11:18:47 | 显示全部楼层
原帖由 jl580650 于 2007-7-23 11:14 AM 发表
没有,貌似imagex所有操作都包括子目录的
========
那个[ExclusionException]和[ExclusionList]的结论你怎么得出来的,怎么跟我用imagex测试的不一样


纯属是估做的,没有做测试,因为这样最方便配置,配置出不同的方案和要求。
回复

使用道具 举报

144#
 楼主| 发表于 2007-7-23 11:21:43 | 显示全部楼层
当然[ExclusionException]里如果有 *.RAR,则所有的RAR都会捕获
所以[ExclusionList]里定义的 *.RAR 或 \*.RAR 或  \Path\*.RAR 或 PATH\*.RAR 都无效

[ 本帖最后由 lxl1638 于 2007-7-23 11:23 AM 编辑 ]
回复

使用道具 举报

145#
 楼主| 发表于 2007-7-23 14:32:12 | 显示全部楼层
V1.0.7.0722F版更新:
1、完善了捕获映像、解开映像时定义配置文件的规则;
2、加入了解开映像时可以通过配置文件来筛选被解压的文件;
3、修正了有关配置文件的若干说明;
4、V1.0.7.0722F版隐藏一个蛋蛋----文件目录名通配符匹配验证。
回复

使用道具 举报

146#
 楼主| 发表于 2007-7-23 16:20:45 | 显示全部楼层
原帖由 myBOOT 于 2007-7-23 03:54 PM 发表

是么?
给你个截图。你能解释下么?:)
25728


刚才停电,机子的日期乱了,回到主版初始化的日期。不还上传的文件是正确的。

95a0067ac0ee012cd2dcf24f25b3959f  wimtool-v1.0.7.0722f.rar
77ebf8e0cb86d98d21418dbb7f2fb2cd  wimtool.exe

对照一下,如果上面的MD5不对,再重新上传。
另,下载后也查一下毒,本人机子没有杀软,你们查一下,也是帮本人查毒。

[ 本帖最后由 lxl1638 于 2007-10-16 04:52 PM 编辑 ]
回复

使用道具 举报

147#
 楼主| 发表于 2007-7-23 16:27:09 | 显示全部楼层
原帖由 jl580650 于 2007-7-23 04:24 PM 发表

匹配规则用的是不是这个??


不一定,这次是直接用MS的函数来确定通配符是否匹配的,你可以双击最后一页的说明,那里可以验证。
回复

使用道具 举报

148#
 楼主| 发表于 2007-7-23 16:29:42 | 显示全部楼层
或者你用这些规则做测试,看看与ImageX是不是不同。
回复

使用道具 举报

149#
 楼主| 发表于 2007-7-23 17:53:14 | 显示全部楼层
原帖由 nn2nn 于 2007-7-23 03:56 PM 发表

是不是跑一次目录文件名,出一个报告,不是生成WIM文件。


很有意思,主意也不错,准备加上,大家先测试与配置文件相关的功能,如果没有问题,就按 nn2nn 的主意加这个验证报告了,到此WimmTool就作终结版。
回复

使用道具 举报

150#
 楼主| 发表于 2007-7-23 18:40:51 | 显示全部楼层
原帖由 nn2nn 于 2007-7-23 03:56 PM 发表

是不是跑一次目录文件名,出一个报告,不是生成WIM文件。


这个报告是你的提议,你可否提些建议,这个报告以什么方式显示,是不是被捕获的文件和被放弃的文件都显示出来,以什么样的方式显示?

本人担心一个问题,Delphi的Memo容量有限,不知完整的Vista系统如果加将很多软件的话,Memo可能出错,
(Memo1.Lines.Count)中的Count是有符号的32位整数,最多只能显示30000多行文字,一个系统会不会超过
30000多个文件呢?

过程中不显示,最后再保存也可以,但不够直观。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-16 09:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表