无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
541#
发表于 2012-2-25 07:53:43 | 只看该作者
Hive添加Everyone权限完美了!
楼主的编程水平、对PECMD开发的投入、对问题的处理速度绝对一流,佩服,赞叹。
回复

使用道具 举报

542#
发表于 2012-2-25 08:04:33 | 只看该作者
原帖由 2012abc19701 于 2012-2-24 22:36 发表


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 内容
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
回复

使用道具 举报

543#
 楼主| 发表于 2012-2-25 08:16:29 | 只看该作者
原帖由 lmle 于 2012-2-25 07:53 发表
Hive添加Everyone权限完美了!
楼主的编程水平、对PECMD开发的投入、对问题的处理速度绝对一流,佩服,赞叹。


谢谢!!
                     
回复

使用道具 举报

544#
 楼主| 发表于 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   

_SUB  MyWindow, W500H600,%TITLE%
    MEMO _MSG,  L20T20W450H420,%MSG%,
    ITEM ,  L200T500W100H20,关闭, KILL  \
    ENVI @MyWindow.Visable=1   //提前显示
    //DEVI  D:\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

///
回复

使用道具 举报

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

使用道具 举报

546#
 楼主| 发表于 2012-2-25 17:03:57 | 只看该作者
原帖由 lmle 于 2012-2-25 14:18 发表
楼主的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 编辑 ]
回复

使用道具 举报

547#
 楼主| 发表于 2012-2-25 19:00:01 | 只看该作者
原帖由 2012abc19701 于 2012-2-25 17:03 发表


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


U55   HIVE -quick
回复

使用道具 举报

548#
发表于 2012-2-25 19:38:24 | 只看该作者
54
MBR   ---ok
回复

使用道具 举报

549#
发表于 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 编辑 ]
回复

使用道具 举报

550#
发表于 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 编辑 ]
回复

使用道具 举报

551#
发表于 2012-2-25 21:59:10 | 只看该作者
这个差不多了!............
后面整理简单说明,加入文字框,就大功告成了

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

未命名.JPG (90.93 KB, 下载次数: 121)

未命名.JPG
回复

使用道具 举报

552#
发表于 2012-2-25 22:28:39 | 只看该作者
整理好了希望分享出来,如果可以的话
回复

使用道具 举报

553#
 楼主| 发表于 2012-2-25 23:39:51 | 只看该作者
原帖由 lmle 于 2012-2-25 20:04 发表
关于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 编辑 ]
回复

使用道具 举报

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

使用道具 举报

555#
 楼主| 发表于 2012-2-26 00:37:37 | 只看该作者
原帖由 dvd008 于 2012-2-25 21:59 发表
这个差不多了!............
后面整理简单说明,加入文字框,就大功告成了


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

使用道具 举报

556#
 楼主| 发表于 2012-2-26 01:12:39 | 只看该作者

回复 #1 2012abc19701 的帖子

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


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


FIX
回复

使用道具 举报

557#
 楼主| 发表于 2012-2-26 01:15:45 | 只看该作者
原帖由 lmle 于 2012-2-25 21:47 发表
ITEM命令的问题,测试命令如下:
_SUB Windows1,W260H100,测试窗口
    ITEM Save1,L20T20W80H24,保存到文件,CALL SaveFile,,0
    ITEM Save2,L150T20W80H24,保存到文件,CALL SaveFile,,-1
_END
Windows1 ...


U55B
                   
回复

使用道具 举报

558#
发表于 2012-2-26 06:03:54 | 只看该作者
原帖由 2012abc19701 于 2012-2-25 23:39 发表




关于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 编辑 ]
回复

使用道具 举报

559#
 楼主| 发表于 2012-2-26 08:55:38 | 只看该作者
原帖由 lmle 于 2012-2-26 06:03 发表

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


对头。
                             
回复

使用道具 举报

560#
 楼主| 发表于 2012-2-26 09:03:47 | 只看该作者
原帖由 2012abc19701 于 2012-2-25 17:03 发表


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 编辑 ]
回复

使用道具 举报

561#
发表于 2012-2-26 09:25:34 | 只看该作者
GROU 分一下组?我其实本外行,还不知道如何使用.

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

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

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

未命名.JPG (52.21 KB, 下载次数: 105)

未命名.JPG
回复

使用道具 举报

562#
 楼主| 发表于 2012-2-26 09:35:30 | 只看该作者

回复 #567 2012abc19701 的帖子

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

使用道具 举报

563#
发表于 2012-2-26 09:39:23 | 只看该作者
原帖由 blithewind 于 2012-2-26 00:33 发表
看磁盘功能很强大,赶紧把骨头版PE更新了吧.


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

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

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

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

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

使用道具 举报

564#
发表于 2012-2-26 09:43:16 | 只看该作者
原帖由 2012abc19701 于 2012-2-26 09:35 发表
大家认为还有什么最需要加的功能。


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

使用道具 举报

565#
 楼主| 发表于 2012-2-26 09:59:27 | 只看该作者
原帖由 dvd008 于 2012-2-26 09:25 发表
GROU 分一下组?我其实本外行,还不知道如何使用.

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

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


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


#!PECMD
ENVI &&&EnviMode=1  //避免意外错误,空变量,外部变量,
ENVI &FORCELOCAL=1  //可以处理大变量. 不影响外部变量
_SUB  EditDisk, 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
  //校验参数...
  MESS  part -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

回复

使用道具 举报

566#
发表于 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 编辑 ]

未命名3.JPG (155.49 KB, 下载次数: 99)

未命名3.JPG
回复

使用道具 举报

567#
发表于 2012-2-26 10:27:26 | 只看该作者
原帖由 2012abc19701 于 2012-2-26 09:59 发表


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


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



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

使看起来,方便些?
回复

使用道具 举报

568#
发表于 2012-2-26 12:12:57 | 只看该作者
再修改一下,
方便单独更改--激活类型,分区类型

未命名5.JPG (51.02 KB, 下载次数: 104)

未命名5.JPG
回复

使用道具 举报

569#
 楼主| 发表于 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
来自  part  list part 的最后一个数据。
这只是一个暗示而已, 到底数据从哪来的,随便。
其影响在于 start 因对齐调整时,不会自动缩小len 的值。

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

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



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

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

使用道具 举报

570#
发表于 2012-2-26 13:51:03 | 只看该作者
原帖由 2012abc19701 于 2012-2-26 09:35 发表
大家认为还有什么最需要加的功能。

是否可以加入以下功能:
1、字符与ASCII之间的相互转换。
2、十进制、十六进制等之间的相互转换。
第一个功能,我现在是使用查表法转换的;第二个功能中,十六进制转十进制数,可以用CALC简单实现。要实现十进制转十六进制,或二进制等就比较麻烦,要写很多语句才能实现。
我对PECMD的功能还不是很熟悉,不知这些功能是否已经能简单实现?或者功能多了,会不会使PECMD变得臃肿。毕竟PECMD的基本使用场所是PE环境。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 06:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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