lmle 发表于 2012-2-25 07:53:43

Hive添加Everyone权限完美了!
楼主的编程水平、对PECMD开发的投入、对问题的处理速度绝对一流,佩服,赞叹。

2010rt 发表于 2012-2-25 08:04:33

原帖由 2012abc19701 于 2012-2-24 22:36 发表 http://bbs.wuyou.net/images/common/back.gif


PECMD2012-U54支持 INF驱动直接安装。


这个CMD怎么编才能查本机驱动按装,还有设TEMP,要怎么写和加载外置驱动.


@ECHO OFF
CLS
TITLE Install of Drivers in PE3 (tanks wimb)- Wait ....
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION

ECHO.
ECHO搜索并安装主机驱动库中的驱动
ECHO.


for %%i in (C D E F G H I J K L M N) do (
IF NOT EXIST "%%i:\Windows\SysWow64" (
    if exist "%%i:\Windows\system32\driverstore\filerepository" (
      ECHO找到的驱动库: %%i:\Windows\system32\driverstore\filerepository
      start /b cmd /c pecmd devi %%i:\Windows\system32\driverstore\filerepository\*inf
    )
)
)
ECHO.
ECHO正在搜索主机驱动 - 请稍候 ....
ECHO.
ECHO某些 USB 3.0 设备可能需要运行两次才能安装上
ECHO.
ECHO*** 请不要关闭本窗口,安装后会自动关闭 ***
ECHO.

:: pause
EXIT

/////////////////////////////////////创建本文件夹快捷方式链接//////////////////////////////////////////////////
_SUB pe3ext
   TEAM DEVI $.\网络工具\DRV3\WNIC.CAB,,%TEMP%|FILE %TEMP%      //自动安装外置网卡驱动
   TEAM DEVI $.\网络工具\DRV3\VCARD.CAB,,%TEMP%|FILE %TEMP%            //自动安装显卡驱动
   TEAM DEVI $.\网络工具\DRV3\ACARD.CAB,,%TEMP%|FILE %TEMP%            //自动安装声卡驱动
_END
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
CALL pe3ext                                                 //执行 pe3ext 内容
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

mdyblog 发表于 2012-2-25 08:16:29

原帖由 lmle 于 2012-2-25 07:53 发表 http://bbs.wuyou.net/images/common/back.gif
Hive添加Everyone权限完美了!
楼主的编程水平、对PECMD开发的投入、对问题的处理速度绝对一流,佩服,赞叹。

谢谢!!
                     

mdyblog 发表于 2012-2-25 10:23:15

回复 #548 2010rt 的帖子

InstallINFDrv.wcs:
#!PECMD
ENVI &&&EnviMode=1//避免意外错误,空变量,外部变量,
ENVI &FORCELOCAL=1//可以处理大变量. 不影响外部变量
ENVI TITLE=Install of Drivers in PE3 (tanks wimb)- Wait ....

ENVI MSG=\n搜索并安装主机驱动库中的驱动\n   

_SUBMyWindow, W500H600,%TITLE%
    MEMO _MSG,L20T20W450H420,%MSG%,
    ITEM ,L200T500W100H20,关闭, KILL\
    ENVI @MyWindow.Visable=1   //提前显示
    //DEVID:\WIN_x86\wimfltr.inf//测试

    FORX * C D E F G H I J K L M N,i,
    {
      ENVI @_MSG=%_MSG%\n搜索 %i%:
      IFEX%i%:\Windows\SysWow64,!
      {
            IFEX %i%:\Windows\system32\driverstore\filerepository,
            {
                ENVI @_MSG=%_MSG%\n找到的驱动库: %i%:\Windows\system32\driverstore\filerepository
                //WAIT 1000 //演示,正常为下一行
                devi %i%:\Windows\system32\driverstore\filerepository\*inf
            }
      }
    }
    ENVI MSG1=正在搜索主机驱动 - 请稍候 .... \n\n某些 USB 3.0 设备可能需要运行两次才能安装上\n\n完毕\n
    //ENVI MSG1=%MSG1%\n*** 请不要关闭本窗口,安装后会自动关闭 ***\n
    ENVI @_MSG=%_MSG%\n%MSG1%
    //CALL pe3ext
    // KILL \    //自动关闭
_END

CALL MyWindow

//:: pause
EXIT FILE
//EXIT FILE, 后面不执行!!!

/////////////////////////////////////创建本文件夹快捷方式链接//////////////////////////////////////////////////
_SUB pe3ext
   TEAM DEVI $.\网络工具\DRV3\WNIC.CAB,,%TEMP%|FILE %TEMP%      //自动安装外置网卡驱动
   TEAM DEVI $.\网络工具\DRV3\VCARD.CAB,,%TEMP%|FILE %TEMP%            //自动安装显卡驱动
   TEAM DEVI $.\网络工具\DRV3\ACARD.CAB,,%TEMP%|FILE %TEMP%            //自动安装声卡驱动
_END
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//CALL pe3ext                                                 //执行 pe3ext 内容
///////////////////////////////////////////////////////////////////////////////////////////////////////////////



2。 设置TEMP
ENVI TEMP=D:\TEMP
也可 TEMP Setting   //图形选择界面。
见 HELP ENVI
    HELP TEMP

///

lmle 发表于 2012-2-25 14:18:37

楼主的PECMD在速度方面还有没有优化的可能?
1、同样的命令,用老九的PECMD和你的这个,老九的出现用户界面要快一点。或许是你的这个PECMD功能更多、更强大有关系。
2、HIVE命令挂载注册表,明显比reg load慢多了(老九的PECMD有同样的问题)。
3、或许还有其他命令,没具体测试。
这只是个人想法,意见不一定可行。

mdyblog 发表于 2012-2-25 17:03:57

原帖由 lmle 于 2012-2-25 14:18 发表 http://bbs.wuyou.net/images/common/back.gif
楼主的PECMD在速度方面还有没有优化的可能?
1、同样的命令,用老九的PECMD和你的这个,老九的出现用户界面要快一点。或许是你的这个PECMD功能更多、更强大有关系。
2、HIVE命令挂载注册表,明显比reg load慢 ...

A1: 界面
   1.可以 用 编辑内置资源.WCS将PECMD.EXE 解开。 可以快一点点。
   2. 在 Window 函数中,开始加 ENVI   @窗口名.Visable=1
可以让界面早点出来。
   3. ENVI &&&EnviMode=1
      可以 快点。 否则,既要兼容PECMD3.9 ,又要照顾新的语法, 一条命令要解释几次。 不兼容变量(实际很少用到嵌套变量)使用,可以轻装上阵。


A2:
比reg load慢 , 是因为多干了活。 可以考虑加-quick 开关, 快点。
同上, 可以 用 编辑内置资源.WCS将PECMD.EXE 解开。 可以快一点点。

[ 本帖最后由 2012abc19701 于 2012-2-26 08:58 编辑 ]

mdyblog 发表于 2012-2-25 19:00:01

原帖由 2012abc19701 于 2012-2-25 17:03 发表 http://bbs.wuyou.net/images/common/back.gif


A1: 界面
   1.可以 用 编辑内置资源.WCS将PECMD.EXE 解开。 可以快一点点。
   2. 在 Window 函数中,开始加 ENVI   @窗口名.Visable=1
可以让节目早点出来。
   3. ENVI &&&EnviMode=1
      可 ...

U55   HIVE -quick

dvd008 发表于 2012-2-25 19:38:24

54
MBR   ---ok

lmle 发表于 2012-2-25 20:04:30

关于KILL命令:
1、如下这段命令能关闭MESS的提示窗口:
_SUB AAA
    MESS- 这是提示信息AAA。@测试#ok
    WAIT 5000
_END
AAA
KILL \测试
2、下面这段命令则不能关闭:
_SUB Windows1,W300H240,窗口
   TIME t1,10,CALL AAA
_END
_SUB AAA
    ENVI @t1=0
    MESS- 这是提示信息AAA。@测试#ok
    WAIT 5000
_END
Windows1
KILL \测试

另:HIVE -quick速度确实快多了。我觉得HIVE默认就用-quick,特殊使用加-super_r,可以少一个参数。

[ 本帖最后由 lmle 于 2012-2-25 20:47 编辑 ]

lmle 发表于 2012-2-25 21:47:57

ITEM命令的问题,测试命令如下:
_SUB Windows1,W260H100,测试窗口
    ITEM Save1,L20T20W80H24,保存到文件,CALL SaveFile,,0
    ITEM Save2,L150T20W80H24,保存到文件,CALL SaveFile,,-1
_END
Windows1
按钮状态取值0时,文字居中,正常;按钮状态取值-1时,文字偏右。

但是,在窗口中初始可用,在函数中用“ENVI @按钮名称.Enable=0”设置为不可用时正常。

[ 本帖最后由 lmle 于 2012-2-25 21:58 编辑 ]

dvd008 发表于 2012-2-25 21:59:10

这个差不多了!............
后面整理简单说明,加入文字框,就大功告成了

[ 本帖最后由 dvd008 于 2012-2-25 22:00 编辑 ]

freesoft00 发表于 2012-2-25 22:28:39

整理好了希望分享出来,如果可以的话

mdyblog 发表于 2012-2-25 23:39:51

原帖由 lmle 于 2012-2-25 20:04 发表 http://bbs.wuyou.net/images/common/back.gif
关于KILL命令:
1、如下这段命令能关闭MESS的提示窗口:
_SUB AAA
    MESS- 这是提示信息AAA。@测试#ok
    WAIT 5000
_END
AAA
KILL \测试
2、下面这段命令则不能关闭:
_SUB Windows1,W300H240,窗口 ...



关于KILL命令:

2、下面这段命令则不能关闭:
_SUB Windows1,W300H240,窗口
   TIME t1,10,CALL AAA
_END
_SUB AAA
    ENVI @t1=0
    MESS- 这是提示信息AAA。@测试#ok
    WAIT 5000
_END
Windows1
MESS   --将: KILL \测试
KILL \测试

我实测,能关闭MESS的提示窗口!
注意: WAIT 5000 必须执行完,Windows1才能真正注销,从而执行KILL \测试。
5000ms 前, 在WINDOW/VC 中,不能响应消息。 这里做了特殊处理, 从视觉上能响应消息(如关闭)。
但5000ms 前, AAA不返回。 TIME t1的响应函数 (CALL AAA) 不会返回,从而从执行流程上, 窗口不能注销。
从而不能执行 KILL \测试。




3:另:HIVE -quick速度确实快多了。我觉得HIVE默认就用-quick,特殊使用加-super_r,可以少一个参数。
为理兼容。 PECMD3.9、4.0就是那样做的。
这样 以前的程序尽量少改变。

只是 多写一个-quick 而已。
权衡利弊, 从经济上说, 还是兼容的好。

[ 本帖最后由 2012abc19701 于 2012-2-25 23:57 编辑 ]

blithewind 发表于 2012-2-26 00:33:03

原帖由 dvd008 于 2012-2-25 21:59 发表 这个差不多了!............后面整理简单说明,加入文字框,就大功告成了 看磁盘功能很强大,赶紧把骨头版PE更新了吧.

mdyblog 发表于 2012-2-26 00:37:37

原帖由 dvd008 于 2012-2-25 21:59 发表 http://bbs.wuyou.net/images/common/back.gif
这个差不多了!............
后面整理简单说明,加入文字框,就大功告成了

好啊!
项目太多。建议用 GROU 分一下组。

mdyblog 发表于 2012-2-26 01:12:39

回复 #1 2012abc19701 的帖子

[更新188#546PECMD-32.2012.1除夕版.多窗口多线-U55B裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U55B(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/


FIX

mdyblog 发表于 2012-2-26 01:15:45

原帖由 lmle 于 2012-2-25 21:47 发表 http://bbs.wuyou.net/images/common/back.gif
ITEM命令的问题,测试命令如下:
_SUB Windows1,W260H100,测试窗口
    ITEM Save1,L20T20W80H24,保存到文件,CALL SaveFile,,0
    ITEM Save2,L150T20W80H24,保存到文件,CALL SaveFile,,-1
_END
Windows1 ...

U55B
                   

lmle 发表于 2012-2-26 06:03:54

原帖由 2012abc19701 于 2012-2-25 23:39 发表 http://bbs.wuyou.net/images/common/back.gif




关于KILL命令:

2、下面这段命令则不能关闭:
_SUB Windows1,W300H240,窗口
   TIME t1,10,CALL AAA
_END
_SUB AAA
    ENVI @t1=0
    MESS- 这是提示信息AAA。@测试#ok
    WAIT 5000
_EN ...
谢谢楼主解惑,可能是我理解错了。
应该是:窗口函数Windows1在关闭窗口之前(手动或Kill命令),是不会退出的,即便WAIT 5000时间已到。
也就是说,Windows1这句之后的“MESS   --将: KILL \测试”、“ KILL \测试”只有在关闭窗口后,才能执行。

[ 本帖最后由 lmle 于 2012-2-26 06:05 编辑 ]

mdyblog 发表于 2012-2-26 08:55:38

原帖由 lmle 于 2012-2-26 06:03 发表 http://bbs.wuyou.net/images/common/back.gif

谢谢楼主解惑,可能是我理解错了。
应该是:窗口函数Windows1在关闭窗口之前(手动或Kill命令),是不会退出的,即便WAIT 5000时间已到。
也就是说,Windows1这句之后的“MESS   --将: KILL \测试”、“...

对头。
                             

mdyblog 发表于 2012-2-26 09:03:47

原帖由 2012abc19701 于 2012-2-25 17:03 发表 http://bbs.wuyou.net/images/common/back.gif


A1: 界面
   1.可以 用 编辑内置资源.WCS将PECMD.EXE 解开。 可以快一点点。
   2. 在 Window 函数中,开始加 ENVI   @窗口名.Visable=1
可以让界面早点出来。
   3. ENVI &&&EnviMode=1
      可 ...

4. ENVI &FORCELOCAL=1//可以处理大变量. 不影响外部变量
可以快点。
否则 ,用OS环境变量(PECMD3.9/4.0)。 环境变量没有索引。 而且所有的变量名和数据混杂在一起,作为一个整体存放。
每次修改,所有变量都要重新生成一遍。
每次访问,都要从开头,一个一个字符地(变量名和数据)比对。 就像在记事本中查找一段文本。

访问变量%ABC% 改为%&ABC% 可以阻止在没有变量局部ABC时,在到环境变量中找ABC。

[ 本帖最后由 2012abc19701 于 2012-2-26 09:44 编辑 ]

dvd008 发表于 2012-2-26 09:25:34

GROU 分一下组?我其实本外行,还不知道如何使用.

先把这个搞定再说. 分享是自然的了,都是楼主的PECMD+他提供的代码,我组合一下.

又加一个对其选项.(原来默认使用1024K),现在可以任意指定.

[ 本帖最后由 dvd008 于 2012-2-26 09:26 编辑 ]

mdyblog 发表于 2012-2-26 09:35:30

回复 #567 2012abc19701 的帖子

大家认为还有什么最需要加的功能。

dvd008 发表于 2012-2-26 09:39:23

原帖由 blithewind 于 2012-2-26 00:33 发表 http://bbs.wuyou.net/images/common/back.gif
看磁盘功能很强大,赶紧把骨头版PE更新了吧.

可以自己直接更换PECMD.EXE 即可

这个界面只是代码或者WCS文件,弄完后分享

磁盘功能确实很强,可以创建兼容WIN7磁盘管理创建的分区(4K对齐的分区,数据和WIN7的一样)

其它几个支持4K的分区工具,分区数据和WIN7的还是有点全部的.

关键这个更小,可以完成基本磁盘操作.

dvd008 发表于 2012-2-26 09:43:16

原帖由 2012abc19701 于 2012-2-26 09:35 发表 http://bbs.wuyou.net/images/common/back.gif
大家认为还有什么最需要加的功能。

等分区弄完了,我再测试其它功能,如网络,驱动安装等

mdyblog 发表于 2012-2-26 09:59:27

原帖由 dvd008 于 2012-2-26 09:25 发表 http://bbs.wuyou.net/images/common/back.gif
GROU 分一下组?我其实本外行,还不知道如何使用.

先把这个搞定再说. 分享是自然的了,都是楼主的PECMD+他提供的代码,我组合一下.

又加一个对其选项.(原来默认使用1024K),现在可以任意指定.

GRUP 分组,比你程序简单多了。下面示例(红色) .就是画一个框。考过来,调整一下位置和大小即可。
蓝色部分加了文字说明,对齐。


#!PECMD
ENVI &&&EnviMode=1//避免意外错误,空变量,外部变量,
ENVI &FORCELOCAL=1//可以处理大变量. 不影响外部变量
_SUBEditDisk, W360H300,创建分区
      // 磁盘1分区激活类型          起始            大小
      //GROU            ,L10T6W330H60, 分区   
      //GROU -center ,L10T6W330H60, 分区   
      GROU,L10T10W330H55,   
      LABE    ,    L20T20W30H20, 磁盘
      EDIT EDISK,L20T40W30H20,%DISK%,
      LABE    ,    L55T20W30H20, 分区
      EDIT EPART,L55T40W30H20,%IPART%,
      LABE    ,    L90T20W30H20, 激活
      EDIT EACKTIVE, L90T40W30H20,%ACKTIVE%,
      LABE    ,    L125T20W30H20, 类型
      EDIT ETYPE,L125T40W30H20,%TYPE%,
      
      LABE    ,    L160T20W80H20, 起始
      EDIT ESTAR,L160T40W80H20,%STAR%,
      
      LABE    ,    L245T20W80H20, 大小
      EDIT ELEN,   L245T40W80H20,%LEN%,
      
      MEMO MNOTE,L20T70W180H120,%NOTE%,
      ITEM ,L100T230W100H20,创建分区, CALL OnDoit
_END
_SUB OnDoit
//校验参数...
MESSpart -super -align=2m%EDISK%#%EPART% %EACKTIVE% %ETYPE% %ESTAR% %ELEN%@调试#OK //下面才是执行。
//part -super -align=2m%EDISK%#%EPART% %EACKTIVE% %ETYPE% %ESTAR% %ELEN%
_END
// 初始化 变量 DISK ...
ENVI$ &NL=0d 0a
//ENVI &NL=\n
ENVI DISK=0
ENVI IPART=1
ENVI ACKTIVE=-a
ENVI TYPE=0x06
ENVI STAR=131m
ENVI LEN=35m
ENVI NOTE=cdsacsac--------------dsacdsacdsa%&NL%cdscdsacdsa%&NL%cdsacdsacdsacdsa%&NL%cdsacdsacdsacdsa%&NL%cdsacdsacdsacdsa%&NL%cdsacdsacdsacdsa%&NL%cdsacdsacdsacdsa%&NL%cdsacdsacdsacdsa%&NL%cdsacdsacdsacdsa%&NL%
//图形界面
CALL EditDisk

dvd008 发表于 2012-2-26 10:16:35

如:
pecmd part -super -align=2m 0#1 a 07 131m 35m

改为
pecmd part -super -align=2m LIST 0#1 a 07 -131m 35m
不清楚这两个参数意思? 是自动接前面分区而不用考虑起始位置?
那么,到底起始是前面分区结尾,还是131M

还是这样?
pecmd part -super -align=2m LIST 0#1 a 07 -START 35m

[ 本帖最后由 dvd008 于 2012-2-26 10:18 编辑 ]

dvd008 发表于 2012-2-26 10:27:26

原帖由 2012abc19701 于 2012-2-26 09:59 发表 http://bbs.wuyou.net/images/common/back.gif


GRUP 分组,比你程序简单多了。下面示例(红色) .就是画一个框。考过来,调整一下位置和大小即可。
蓝色部分加了文字说明,对齐。


#!PECMD
ENVI &&&EnviMode=1//避免意外错误,空变量,外部变量, ...


GRUP 分组,就是画一个框?给各功能

使看起来,方便些?

dvd008 发表于 2012-2-26 12:12:57

再修改一下,
方便单独更改--激活类型,分区类型

mdyblog 发表于 2012-2-26 13:39:27

回复 #573 dvd008 的帖子

Q:pecmd part -super -align=2m LIST 0#1 a 07 -131m 35m
不清楚这两个参数意思? 是自动接前面分区而不用考虑起始位置?
那么,到底起始是前面分区结尾,还是131M


A:
起始是前面分区是131M
只是,暗示这个131M(实际不可能是这种形式,只可能为137363456=131M),137363456
来自partlist part 的最后一个数据。
这只是一个暗示而已, 到底数据从哪来的,随便。
其影响在于 start 因对齐调整时,不会自动缩小len 的值。

比如 现在只有一个分区1
//    10x16   0   0   137363456    0      137363456

part list part 0#1 ,data
MSTRlastend=%data%<7>//获取最后的 137363456
//在后面在分一个34M分区
part -super -align=2m0#2 a 07 -%lastend%34m
//这样 0#234M, 开始于132M, 长度34M
//因为lastend=131M, 2M对齐, 于是后移1M, 不改变len,为34M。 结尾就是 132+34M;
//结尾2M对齐, 恰好对齐,不调整;结尾就是 132+34M,长度34M,



//如果下面, %lastend%前没有-
part -super -align=2m0#2 a 07 %lastend%34m
//这样 0#232M, 开始于32M, 长度32M
//因为lastend=131M, 2M对齐, 于是后移1M,同时len缩小1M为33M。 结尾就是 132+33M;
//结尾2M对齐, 又缩小1M,结尾就是 132+32M,长度32M,

[ 本帖最后由 2012abc19701 于 2012-2-26 14:18 编辑 ]

lmle 发表于 2012-2-26 13:51:03

原帖由 2012abc19701 于 2012-2-26 09:35 发表 http://bbs.wuyou.net/images/common/back.gif
大家认为还有什么最需要加的功能。
是否可以加入以下功能:
1、字符与ASCII码之间的相互转换。
2、十进制、十六进制等之间的相互转换。
第一个功能,我现在是使用查表法转换的;第二个功能中,十六进制转十进制数,可以用CALC简单实现。要实现十进制转十六进制,或二进制等就比较麻烦,要写很多语句才能实现。
我对PECMD的功能还不是很熟悉,不知这些功能是否已经能简单实现?或者功能多了,会不会使PECMD变得臃肿。毕竟PECMD的基本使用场所是PE环境。
页: 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28
查看完整版本: [更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...