无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: lxl1638
打印 上一主题 下一主题

[PECMD X86 & X64 V4.0.2011.0501版] WinPE命令解释程序 & WinPE登录命令。

    [复制链接]
3151#
发表于 2010-9-11 13:50:13 | 只看该作者

回复 #1 lxl1638 的帖子

好啊,功能越来越强大,新增的很实用啊。
回复

使用道具 举报

3152#
发表于 2010-9-11 19:36:07 | 只看该作者
原帖由 网虫2008 于 2010-9-8 22:39 发表
想建立一个文件夹的快捷方式,建立后,自动实时显示此文件夹的所有子文件夹和文件,
我用 LINK 能数,只能建立文件夹快捷,点选后,只是打开所在文件夹,并不出现列表,


下面的截图是我手动右键拖到开始菜 ...


我也在尝试写一个命令解释器,这已在我的考虑范围之内,很快就能用一条命令搞定了。
回复

使用道具 举报

3153#
发表于 2010-9-12 12:40:40 | 只看该作者
我运行我水的珍藏PE缺少hal.dll怎样办。
但实际是有的,我并没有修改过什么dll而错误
我用小马2010的PE并没有出现这种问题

希望老九帮我解答下。很多人都没这问题

[ 本帖最后由 thxa 于 2010-9-12 12:42 编辑 ]
回复

使用道具 举报

3154#
发表于 2010-9-12 13:21:07 | 只看该作者
经测试,pecmd 的 kill explorer 后对显卡无效
手动从任务管理器终止或用 taskkill /f /im 后才会正常
回复

使用道具 举报

3155#
发表于 2010-9-13 08:18:04 | 只看该作者
原帖由 玄天 于 2010-9-12 13:21 发表
经测试,pecmd 的 kill explorer 后对显卡无效
手动从任务管理器终止或用 taskkill /f /im 后才会正常

可以試試 kill explorer.exe
回复

使用道具 举报

3156#
发表于 2010-9-13 11:00:15 | 只看该作者

回复 #3209 bahmo 的帖子

麻烦你看清楚了再回:(
回复

使用道具 举报

3157#
发表于 2010-9-14 00:08:02 | 只看该作者
菜鸟提一个pecmd图形化界面的建议

  最近用pecmd来写一个窗口,由于技术实在太菜,一个简单的窗口也写了一下午,所以来这里提出一些建议,望楼主采纳.
1.用pecmd做一个图形化界面时,pecmd会读取预先写好的配置文件(如Win32控件演示.WCS),然后再打开这个窗口,可是这个配置文件是文本格式的,控件的位置用坐标表示,不够直观,简单一些的窗口还可以慢慢改,复杂一些的窗口就郁闷了.就说我那个窗口,控件加起来不超过20个,排位置就花了2个多小时.(要是自己写一个象Win32控件演示.WCS那么复杂的就惨了...)
2.虽然本人有那么一丁点编程的基础,可是看到那些大段大段的代码还是会晕,东西一多就容易乱啊,WINPE.INI还能勉强看得懂,但自己写一个窗口就麻烦了,东西多起来,有时哪里搞错了都不知道.
...

根据我遇到的问题,给楼主提个建议,就是希望楼主能写一个图形化编辑配置文件的工具,就像时空淘气包那样,写窗口时控件能用鼠标拖放,并能调整控件的大小和位置,设置好其他参数后,能自动生成配置文件.
如果楼主真的能做出来就好了,我等菜菜的福音啊
回复

使用道具 举报

3158#
发表于 2010-9-14 00:09:39 | 只看该作者
原帖由 网虫2008 于 2010-9-10 14:30 发表


这些之前我也测试过,,,其他方法也能做到,只不过麻烦。

如果PECMD.EXE以后的版本能在LINK参数上增强这样的功能就万岁了喽!!


新的命令解释器 wtcmd 支持创建文件夹快捷方式,欢迎大家测试使用。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=176105&extra=page%3D1
回复

使用道具 举报

3159#
发表于 2010-9-14 08:07:09 | 只看该作者
请问九大:能不能在脚本里选择下拉列表框LIST中的某一选项?例如:LIST中有选项A|B|C|D|E,能不能用某语句替用户选择其中的B或C等?
回复

使用道具 举报

3160#
 楼主| 发表于 2010-9-14 13:06:22 | 只看该作者
原帖由 lmle 于 2010-9-14 08:07 发表
请问九大:能不能在脚本里选择下拉列表框LIST中的某一选项?例如:LIST中有选项A|B|C|D|E,能不能用某语句替用户选择其中的B或C等?



/////////////////////////////////////////////////////////////////
_SUB SelectList
     ENVI @List1 = 条目%ListID%
_END
/////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////
_SUB Windows1,W300H200,%WinName%,,%WindowIcon%,0
  GROU Group6,L16T16W160H88,下拉列表框演示
  LABE Label3,L32T72W140H20,%CurCheck% 条目%ListID%
  LIST List1,L32T40W88H32,条目1|条目2|条目3|条目4|条目5,ENVI @Label3 = %CurCheck% %List1%,条目%ListID%
  ITEM Button1,L188T16W80H24,选择条目1,TEAM ENVI ListID = 1|CALL SelectList
  ITEM Button2,L188T40W80H24,选择条目2,TEAM ENVI ListID = 2|CALL SelectList
  ITEM Button3,L188T64W80H24,选择条目3,TEAM ENVI ListID = 3|CALL SelectList
  ITEM Button4,L188T88W80H24,选择条目4,TEAM ENVI ListID = 4|CALL SelectList
  ITEM Button5,L188T112W80H24,选择条目5,TEAM ENVI ListID = 5|CALL SelectList
_END
/////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////
ENVI WinName = PECMD功能演示
ENVI CurCheck = 当前选择:
ENVI ListID = 1
ENVI WindowIcon=%SystemRoot%\System32\Shell32.DLL#19
CALL @Windows1

/////////////////////////////////////////////////////////////////

[ 本帖最后由 lxl1638 于 2010-9-14 13:10 编辑 ]
回复

使用道具 举报

3161#
发表于 2010-9-14 14:19:54 | 只看该作者
十分感谢九大答疑解惑!
      受帮助里“无前导符表示初始化下拉列表框所有的条目,格式为 "ENVI @下拉列表框名称=条目1|条目2|条目3...",”这句话的影响,一直以为“ENVI @下拉列表框名称=条目”只能在初始化列表框时使用,目的是使列表框里有“条目1、条目2…,”等选项。
      原来,“ENVI @下拉列表框名称=列表框已有条目”的作用是选中列表框中的已有条目。

[ 本帖最后由 lmle 于 2010-9-14 14:22 编辑 ]
回复

使用道具 举报

3162#
 楼主| 发表于 2010-9-14 14:44:54 | 只看该作者
原帖由 2010_cyl 于 2010-9-14 00:08 发表
菜鸟提一个pecmd图形化界面的建议

  最近用pecmd来写一个窗口,由于技术实在太菜,一个简单的窗口也写了一下午,所以来这里提出一些建议,望楼主采纳.
1.用pecmd做一个图形化界面时,pecmd会读取预先写好的配置文 ...

界面编辑工具本人就不去做了,有兴趣的人可以去做,做界面编辑工具不那么讲究,VC、VB、AutoIT、Delphi均可。
回复

使用道具 举报

3163#
发表于 2010-9-14 18:23:39 | 只看该作者

回复 #3216 lxl1638 的帖子

哦,这样啊,看来还是提高自己的技术最实际啊
回复

使用道具 举报

3164#
 楼主| 发表于 2010-9-15 01:51:09 | 只看该作者
原帖由 网虫2008 于 2010-9-10 14:30 发表


这些之前我也测试过,,,其他方法也能做到,只不过麻烦。

如果PECMD.EXE以后的版本能在LINK参数上增强这样的功能就万岁了喽!!


有些已能实现的没有必要再整成一条命令的。
整成一个子过程给你调用就可以了,调用前设置好 FolderPathShortcutsName
再 CALL 这个 CreateFolderShortcuts 子过程。
//--------------------------------------------------------------------------//
_SUB CreateFolderShortcuts
     PATH %ShortcutsName%    //建立目录
     SITE %ShortcutsName%,+S //设置目录属性
     WRIT %ShortcutsName%\desktop.ini,+0,[.ShellClassInfo] //这三行建立desktop.ini文件
     WRIT %ShortcutsName%\desktop.ini,+0,CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
     WRIT %ShortcutsName%\desktop.ini,+0,Flags=2
     SITE %ShortcutsName%\desktop.ini,+S+H //设置desktop.ini文件属性
     LINK %ShortcutsName%\target,%FolderPath% //建立快捷方式
_END

//--------------------------------------------------------------------------//
ENVI FolderPath=D:\系统工具  //目标目录全名
ENVI ShortcutsName=%Programs%\系统工具  //快捷方式名称
CALL CreateFolderShortcuts

//--------------------------------------------------------------------------//

[ 本帖最后由 lxl1638 于 2010-9-15 01:54 编辑 ]
回复

使用道具 举报

3165#
发表于 2010-9-15 08:47:26 | 只看该作者
原帖由 lxl1638 于 2010-9-15 01:51 发表


有些已能实现的没有必要再整成一条命令的。
整成一个子过程给你调用就可以了,调用前设置好 FolderPath 和 ShortcutsName,
再 CALL 这个 CreateFolderShortcuts 子过程。


真是太感谢了,设置成功了

sshot-1.png (37.79 KB, 下载次数: 187)

sshot-1.png
回复

使用道具 举报

3166#
 楼主| 发表于 2010-9-15 09:50:16 | 只看该作者
原帖由 网虫2008 于 2010-9-15 08:47 发表


真是太感谢了,设置成功了

也可以预先准备好一个 desktop.ini 文件,就二、三行的文件,用 FILE 命令 COPY 过去。
回复

使用道具 举报

3167#
发表于 2010-9-16 22:48:55 | 只看该作者
PECMD 能够判断某个驱动器字母是否已经被占用吗?
或者是否能给出第一个或者最后一个可用的,还没有被占用的驱动器字母?
回复

使用道具 举报

3168#
 楼主| 发表于 2010-9-17 11:45:04 | 只看该作者
原帖由 2010qaqz111 于 2010-9-16 22:48 发表
PECMD 能够判断某个驱动器字母是否已经被占用吗?
或者是否能给出第一个或者最后一个可用的,还没有被占用的驱动器字母?

┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃      │格式│FDRV <变量名><=>[文件目录名]                                                                ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │功能│返回指定"文件目录名"所在的分区盘符(以":"结束,最后无"\")或系统所有盘符。                    ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │参数│■变量名: 用于保存分区盘符的变量名称;                                                      ┃
┃'FDRV'│    │■文件名: 合法的文件目录名称(也可省略,省略时另有意义,见《备注》的解释。                   ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │示例│FDRV fDrive=C:\Windows\System32\calc.exe 或 FDRV AllDrive=                                  ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │备注│※当文件名是相对路径时,返值结果是 PECMD.EXE 的工作目录或配置文件的工作目录所在的分区盘符; ┃
┃      │    │※当省略"文件目录名"时返回系统所有盘符,返回值是 C:|D:|E:|F:|.... 的形式。                  ┃
┃      │    │※示例1结果是"C:",示例2结果是系统所有盘符的列表(注意这个列表不是固定的,会随时发生变化)。  ┃
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
回复

使用道具 举报

3169#
发表于 2010-9-20 22:10:21 | 只看该作者

请教老九

最近一直在想X盘的问题.看:





FBWF命令必须在 MOUN 命令之后。

怎理解?

我PE好象一直是先圈地.

后 MOUN %CurDrv%\MINIPE\OP.WIM,Y:\外置程序\,1,%TEMP%

实测.
MOUN在前.FBWF 在后是不行的.表现为重启.

[ 本帖最后由 66369 于 2010-9-20 22:17 编辑 ]
回复

使用道具 举报

3170#
发表于 2010-9-21 20:02:56 | 只看该作者
君请看:
_SUB Main,W320H240,测试LIST
  LIST LS1,L10T10W50H18,
  ITEM LB1,L10T50W40H18,TEST1,ENVI @LS1=1|2|3|4|5|6
  ITEM LB2,L60T50W40H18,TEST2,MESS %LS1% @#OK
  ITEM LB3,L10T70W40H18,TEST3,ENVI LS2=1|2|3|4|5|6
  ITEM LB4,L60T70W40H18,TEST4,MESS %LS2% @#OK

_END
CALL @Main
//////////////////////////////////////////////////////////////////
//无前导符表示初始化下拉列表框所有的条目,格式为 "ENVI @下拉列表框名称=条目1|条目2|条目3..."
//为什么我这个测试失败?wincmd版本:3.9.2010.618
//还有希望能保留现有的如@3201这样的功能。
//另,WINCMD在调用某些外部程序时,如果外部程序没有半闭,则WINCMD创建的主窗口会无响应,这种现象在"exec ="时则必出现。
//还有,希望能有KILL 当前窗口的命令。用kill wincmd.exe 则会杀死所有wincmd.exe进程。
//继续,希望能将DATA的时间格式改成
原:2008-8-8|5|20:8:8
改:2008-08-08-5|20:08:08
这样能有效减少获取时间H:M:S 之类的代码长度。或干脆把时间与日期分开。
或加入参数:DATE Hour,参数(Year,Mon,Date,Week,Hour,Min,Sec)
试看,我的得出Hour,Min,Sec 的脚本:

_SUB GetTime
   DATE SysDT
  STRL L_SysDT=%SysDT%
  LPOS Gun_2=%SysDT%,|,2
  CALC #L_Time=%L_SysDT%-%Gun_2%
  RSTR Time=%SysDT%,%L_Time%

   STRL L_Time=%Time%
  LPOS MAO_1=%Time%,:,1
  LPOS MAO_2=%Time%,:,2
   CALC #B_Min=%MAO_2%-%MAO_1%
   CALC #B_Min=%B_Min%-1
  CALC #B_Hou=%MAO_1%-1
  CALC #B_Sec=%L_Time%-%MAO_2%

  CALC #S_Min=%MAO_1%+1
  LSTR Hour=%Time%,%B_Hou%
   RSTR Sec=%Time%,%B_Sec%
   MSTR Min=%Time%,%S_Min%,%B_Min%

   STRL L_Min=%Min%
  STRL L_Sec=%Sec%
   IFEX $%L_Min%=1,ENVI Min=0%Min%
   IFEX $%L_Sec%=1,ENVI Sec=0%Sec%
_END


是否觉得太麻烦了,而且这样增加了许多无用变量。
//再,IFEX 可以检测文件目录,但不能检测文件。
//还,希望能在窗口中支持另建控件的功能,以及刷新图片功能。
//另,希望能够整合FIND和IFEX ,在某些时候,真不容易区分他们的分别。

不要认为我很贪婪,,我只是WINCMD的忠实FANS,
9_9

我希望WINCMD有一天能成长得像AU3那般的强大~
回复

使用道具 举报

3171#
发表于 2010-9-22 11:23:11 | 只看该作者

回复 #3211 junyee 的帖子

“我希望WINCMD有一天能成长得像AU3那般的强大~”,强大的东西未必是最好的,适用的才是真正的,既然AU3那么强大,为什么PE不用它而用PECMD?因为PECMD是完全为PE打造的,它所提供的东西是PE真正需要的。
回复

使用道具 举报

3172#
发表于 2010-9-22 16:30:13 | 只看该作者
原帖由 shoulea 于 2010-9-22 11:23 发表
“我希望WINCMD有一天能成长得像AU3那般的强大~”,强大的东西未必是最好的,适用的才是真正的,既然AU3那么强大,为什么PE不用它而用PECMD?因为PECMD是完全为PE打造的,它所提供的东西是PE真正需要的。


那请问您如何理解WINCMD的定义?
或许现在WINCMD在某种程度上是PECMD的阉割版.
记得wincmd出来的时候就支持创建窗口,明显作者是不想把wincmd与pecmd混为一谈的.
但后来为什么pecmd也追加了wincmd的所有功能?
这也就形成了pecmd与wincmd这种奇怪的关系.

现状是,wincmd能完成的,pecmd也可以完成.
pecmd的任务,wincmd却不可代替?

我知道作者很辛苦,也还是非常感激作者无偿向我们提供这么好用的东西
~~~
祝所有坛友,中秋节快乐!!!
回复

使用道具 举报

3173#
发表于 2010-9-22 17:42:49 | 只看该作者

回复 #3213 junyee 的帖子

wincmd不怎么用,在我的感觉中两者基本上差不多。我认为用wincmd/pecmd实现窗口确实就是一件比较困难的事情,因为通过解释字符串来实现结构化的“编程”本来就不太灵活。

我也在做命令解释器,正处于起步阶段,您有什么好的意见或建议,欢迎提出来。

http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1
回复

使用道具 举报

3174#
发表于 2010-9-22 17:55:56 | 只看该作者
楼主,你好,我显卡是ATI4200板载显卡,在使用玄天win7pe时自动手动都未能安装驱动,不知是否显卡匹配有问题,谢谢。


不好意思,搞错地方了,应该到win7pe三卡驱动调查处反映的。

[ 本帖最后由 gtdwood 于 2010-9-22 18:05 编辑 ]

a.jpg (38.51 KB, 下载次数: 299)

a.jpg
回复

使用道具 举报

3175#
 楼主| 发表于 2010-9-22 19:13:04 | 只看该作者
原帖由 gtdwood 于 2010-9-22 17:55 发表
楼主,你好,我显卡是ATI4200板载显卡,在使用玄天win7pe时自动手动都未能安装驱动,不知是否显卡匹配有问题,谢谢。
100084

不好意思,搞错地方了,应该到win7pe三卡驱动调查处反映的。

玄天win7pe没有你的显卡驱动,本人传到论坛FTP的也不合适你的显卡。
玄天win7pe的ATI显卡驱动最高只支持到 PCI\VEN_1002&DEV_96XX,你的是 PCI\VEN_1002&DEV_9710
你可以打开玄天win7pe显卡驱动中的 atiilhag.inf,根本无法找到你显卡的 PCI\VEN_1002&DEV_9710
你这个显卡应该比较新潮,下载新的ATI显卡驱动,再提取出来试试。

[ 本帖最后由 lxl1638 于 2010-9-22 19:18 编辑 ]
回复

使用道具 举报

3176#
发表于 2010-9-22 20:39:17 | 只看该作者

回复 #3214 shoulea 的帖子

我也知道用它来“编程”是比较困难的,可是有时用它来写一些简单的窗口却比其他的方便,而且更灵活(代码容易修改,适合菜鸟),我就曾经用PECMD帮朋友的批处理文件写过图形界面,象这些简单的操作如果也用VB,VC等软件来写,就复杂了。真喜欢PECMD那简洁的语法!
回复

使用道具 举报

3177#
发表于 2010-9-23 13:59:26 | 只看该作者
原帖由 lxl1638 于 2010-9-22 19:13 发表

玄天win7pe没有你的显卡驱动,本人传到论坛FTP的也不合适你的显卡。
玄天win7pe的ATI显卡驱动最高只支持到 PCI\VEN_1002&DEV_96XX,你的是 PCI\VEN_1002&DEV_9710
你可以打开玄天win7pe显卡驱动中的 atiilh ...


谢谢老大指导,其实我这显卡不算新了,是年多前的785G主板的板载显卡而已,不过刚才用玄天提供的驱动已经可以搞掂显卡了。
回复

使用道具 举报

3178#
发表于 2010-9-25 11:59:45 | 只看该作者
老水又要更新PE了,顺便记得把wim驱动更新下
回复

使用道具 举报

3179#
发表于 2010-9-26 11:21:08 | 只看该作者

反馈一个问题,应该是一个bug

命令如下:
MESS 您确定要设置虚拟内存吗?@设置虚拟内存 #YN *20000 $N

放在全内置PE的内核pecmd.ini中,定时器不能工作,不操作窗体会一直存在下去。但放在外置的winpe.ini中执行是可以的。但代码不作任何改动,将PECMD换成PECMD-V3.9.2010.0616及其以前的版本不存在这个问题,目前有问题的是V3.9.2010.0730F及其以后的版本。

这个问题有点诡异,并不是放在内核中执行引起的,目前测试出的是在全内置中有这个问题,其他外置PE似乎又不存在这个问题。


>>>>>
这个问题终于找到原因,已确认为BUG
只要在MESS这前执行了LOGO就会出现计时失效!前面全内置中就是先执行了LOGO。
我在其他系统中也用代码验证了。老九可能要修正一下。

[ 本帖最后由 hhh333 于 2010-9-26 12:27 编辑 ]
回复

使用道具 举报

3180#
发表于 2010-9-26 21:00:35 | 只看该作者
除@3211提出的疑问外,还发现

在窗口中增加一个图片控件(BMP,不到1M)后,如果窗口中有其他许多控件或代码到一定长度的话会导致脚本解释失败.
后,把BMP改成JPG,则正常.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-10-3 12:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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