无忧启动论坛

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

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

    [复制链接]
6931#
 楼主| 发表于 2013-11-28 22:11:08 | 只看该作者
本帖最后由 mdyblog 于 2013-11-28 22:34 编辑
hhh333 发表于 2013-11-8 09:23
我有一个判断:如果a=1,并且b不等于空,则执行命令串X|Y|Z如下:
ifex $%a%=1,ifex $%b%!=,TEAM X|Y|Z
...



标准答案:
find $%a%=1,!!    find $%b%!=,!!    TEAM X|Y|Z

连用时, 即带上 !! (真)  或   !(假)
甲:    IFEX 甲,!!  
非甲:  IFEX 甲,!  
这样 就 不怕后面碰到 ! 符号

------------------------------------------------------
ifex $%a%=1,    ifex $%b%!=,!!    TEAM X|Y|Z
解释:
(1) !=这里的!被当作前面第一个ifex 的ELSE 部分的开始。
(2) 后面的 !!  被当做嵌入式的!, 2个!被翻译成一个!
ifex $%a%=1,
{
    ifex $%b%
}!  //ELSE
{
    =,! MESS  TEAM X|Y|Z
}




点评

这人我真的理解不了,也很容易出错,建议不用!!,!总是与其最近的IFEX或FIND匹配,或者干脆用上else关键词,这样彻底杜绝歧义。  详情 回复 发表于 2013-12-2 11:27
回复

使用道具 举报

6932#
 楼主| 发表于 2013-11-28 22:38:13 | 只看该作者
2012qnmd 发表于 2013-11-11 09:42
列表问题知道了: 原来是LIST的形装参数的"H"定义不一样了

原来的32位版本, H,好像是列表框本身的高度,弹 ...

对。
本贴一楼有:
注意:LIST H高度指可下拉的高度!!!(WIN64较真)
博客上也有。
回复

使用道具 举报

6933#
 楼主| 发表于 2013-11-29 10:30:16 | 只看该作者

MyPECMD **pecmd-cmd 调用PECMD的功能

本帖最后由 mdyblog 于 2013-11-29 10:32 编辑

注意:MyPECMD  **pecmd-cmd    PECMD命令 参数  //V78  V80均可
      这样可以跳过PECMD可能的内部脚本。便于一致的方式派生进程调用PECMD的功能。
      有没有内部脚本 都能 正常调用 内部命令。

                          //如: EXEC   ="%MyName%"  **pecmd-cmd  Help MESS

点评

     UDTOOL  Fbinst扩展工具 UDTOOL.WCS (1)快捷方式支持自己的图标文件。 ABC文件同位置方一个ico后缀的文件,即为ABC快捷方式的图标文件。 如 PETOO  详情 回复 发表于 2013-11-30 20:23
回复

使用道具 举报

6934#
 楼主| 发表于 2013-11-30 20:23:04 | 只看该作者

UDTOOL  Fbinst扩展工具 UDTOOL.WCS

本帖最后由 mdyblog 于 2013-12-2 10:45 编辑

                       UDTOOL 

  Fbinst扩展工具 UDTOOL.WCS

  (1)快捷方式支持自己的图标文件。
       ABC文件同位置放一个ico后缀的文件,即为ABC快捷方式的图标文件。
       如 PETOOLS/DIR1/APP1.EXE.ICO   PETOOLS/DIR1/APP1.WIM.ICO   PETOOLS/DIR1/APP1.TXT.ICO
  (2)隐藏Fbinst的黑窗口。
  (3)可带运行参数。 --udloadexef    --udload  
  (4)可以自动PINT到任务栏、开始菜单,可以拷贝到桌面。

       有 PETOOLS/DIR1/APP1.EXE.PINT_StartMenu  则 PINT到开始菜单
       有 PETOOLS/DIR1/APP1.EXE.PINT_TaskBand   则 PINT到任务栏
       有 PETOOLS/DIR1/APP1.EXE.Desktop         则 快捷方式拷贝到桌面

        

用法及参数:
1: LOAD 本文件 udautolink  [--icon  默认icon文件] [--exef|--doc] [--userexe PECMD参数名]  UD设备  文件 [参数]
     --exef: 指定EXE等 windows 内部可执行文件。 此时可带参数。用本文件的 --udloadexef 运行
     --doc: 指定EXE等 windows 内部可执行文件。 此时可带参数。用本文件的 --udload 运行.
     否则用 fbinst --udload 来运行。此时不可带参数。
       --userexe   "EXEC  --user:abc --passwd*l6nA  PECMD"
      这样连接以 abc 用户运行

2: LOAD 本文件 --udloadexef     UD设备  文件 [参数]
     运行EXE等 windows 内部可执行文件。 可带参数。此时EXE的后缀可以随便写。
     用【exec --exe:文件 命令行】  运行。

3: LOAD 本文件 --udload     UD设备  文件 [参数]
     用【exec $命令行】  运行。 可带参数。此时根据文件后缀来运行的,不可改后缀!


4: LOAD 本文件 --loadico     UD设备  
     //加载ICO

LOAD  UDTOOL.WCS  udautolink   PETOOLS/*.EXE
LOAD  UDTOOL.WCS  udautolink   PETOOLS/*.NTR
LOAD  UDTOOL.WCS  udautolink   PETOOLS/*.WIM
LOAD  UDTOOL.WCS  udautolink   PETOOLS/帮助.TXT
-----
//  window普通用户下,用管理员来运行连接
LOAD  UDTOOL.WCS  udautolink  --userexe   "EXEC  --user:administrator  --passwd*l6nA  PECMD"   PETOOLS/*.EXE
-----
LOAD  UDTOOL.WCS  --udloadexef     (ud) PETOOLS/notepad.exe   C:\boot.ini
LOAD  UDTOOL.WCS  --udloadexe      (ud) PETOOLS/notepad.exe   C:\boot.ini
LOAD  UDTOOL.WCS  --udload         (ud) PETOOLS/notepad.exe   //此时notepad不可带参数
    UDTOOL.wcs.zip (2.64 KB, 下载次数: 2)

PECMD2012.1.80.12-130810.多窗口线程稳定版_win32_64新设计.sfx.zip
PECMD2012.1.78.20-130510.多窗口线程稳定版_win32_64.sfx.zip
包内有UDTOOL.WCS。
包内还有BCDTOOL.EXE,   不需要外置的bcdedit.exe.
  

点评

PECMD.INI外置到UD 原理: 发现UD外置的指定名字的PECMDINI,就运行外部的, 不运行原来的内容。 方便修改,添加东西,添加、修改密码。 1: 将pecmd模板.ini 的内容考本到你的PECMD.INI 的前部。 2: 你  详情 回复 发表于 2013-12-1 11:45
回复

使用道具 举报

6935#
 楼主| 发表于 2013-12-1 11:45:27 | 只看该作者

PECMD.INI外置到UD

本帖最后由 mdyblog 于 2013-12-2 10:37 编辑

[PECMD.INI外置到UD
原理
   发现UD外置的指定名字的PECMDINI,就运行外部的, 不运行原来的内容。
   方便修改,添加东西,添加、修改密码。

1:
将pecmd模板.ini 的内容考本到你的PECMD.INI 的前部。

2:
你原来的 PECMD.INI的内容 拷贝到 PECMD_UD--WIN7-1____.INI后面,替换后面相应部分。
根据需要修改。
PECMD_UD--WIN7-1____.INI 可改成你希望的名字,主文件名20字符。下面也相应改名。

3: 修改 PE启动菜单
NTLDR菜单, 如直接编辑 WINNT.TPE:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=MINIPE.is_    UDDISK=HD_QSH_TaiShiJi_____   WINPECFG=PECMD_UD--WIN7-1____.INI"
              

BOOTMGR菜单, 如 8PE, BCDTOOL编辑:

                                         
修改蓝色部分。
HD_QSH_TaiShiJi_____ 是UD启动盘 标志文件。到时找这个文件,来确定那个盘上找外置的PECMDINI。文件名20字符。可以是你需要的文件名。主要是有可能插了多个相似的磁盘。
PECMD_UD--WIN7-1____.INI 是 上面说的本WINPE UD外置的启动脚本文件PECMDINI。

4: 文件放入UD根下:  HD_QSH_TaiShiJi_____  PECMD_UD--WIN7-1____.INI    UDTOOL.WCS (如果没有放入WINPE中)

本文件 PECMD包内有。
attach]175222[/attach]

PECMD.INI外置到UD.zip

592.08 KB, 下载次数: 4, 下载积分: 无忧币 -2

回复

使用道具 举报

6936#
发表于 2013-12-1 14:54:24 | 只看该作者
PECMD FORX有个小BUG,在系统连接有未插软盘的软驱或未插存储卡的读卡器时,
运行如下命令FORX AXPE\PIC\*.jpg,pic,0,logo %pic%
复制代码可能会报错。用


http://bbs.wuyou.net/forum.php?m ... 5277&highlight=

在chiannet发布的pe帖子中看到pecmd还是有些bug,所有希望pecmd能改进一下。
回复

使用道具 举报

6937#
 楼主| 发表于 2013-12-2 10:55:49 | 只看该作者
本帖最后由 mdyblog 于 2013-12-2 13:15 编辑

78版的 没问题。
80版,目前直接屏蔽了AB软盘, SD卡没有屏蔽。目前还不知道怎么屏蔽。我再找找资料,试试。
78 版 是MFC屏蔽了那个 SD卡警告框。
80版没用庞大的MFC,直接API,所以工作多些,都要自己做。

目前可以  这样 屏蔽所遇 移动磁盘。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//GETAllDrv  返回变量名 [*rsort]
// *rsort: 反向列表  
//返回 磁盘列表, 扣除
_SUB GETAllDrv
    SET  &ALLDrv=
    FDRV *ab   %~2   &&ALL0=*:
    FORX * %&ALL0%,&&v1, TEAM FORM  -raw &&T=%&v1%| FIND $DRIVE_REMOVABLE=%&t%,! FIND $DRIVE_NO_ROOT_DIR=%&t%,! SET ALLDrv=%&ALLDrv% %&v1%
    ENVI-ret %~1=%&ALLDrv%
_END

SET  &ALLDrv=
GETAllDrv  &ALLDrv *rsort
//MESS  %&ALLDrv%

SET &MAXFORX=10  //10次    <=0 不限
SET &NUM=0
FORX * %&ALL0%,&&d1,
{
    IFEX %&d1%\abc.ini,! EXIT -  //没有这个文件,下一轮
    //这里干活 。。。
    //   
    @IFEX %&MAXFORX%<1, EXIT -  //没有次数限制
    @CALC #&NUM=%NUM% + 1
    IFEX %&NUM%>%&MAXFORX%, EXIT  FORX  //次数到  
}  
回复

使用道具 举报

6938#
发表于 2013-12-2 11:27:40 | 只看该作者
mdyblog 发表于 2013-11-28 22:11
标准答案:
find $%a%=1,!!    find $%b%!=,!!    TEAM X|Y|Z


这个我真的理解不了,也很容易出错,建议不用!!,!总是与其最近的IFEX或FIND匹配,或者干脆用上else关键词,这样彻底杜绝歧义。代码的可读性也强很多。

点评

这是对原始的IFEX/FIND 的修正。 原来 !作为ELSE 的标志。 1. 单行:逗号后直接接!或!! 这样不解释后面的! (1) 如果 甲,那么 乙 此时逗号后直接接!!, 表示没有ELSE(假)部分。 IFEX/FIND 甲,!! 乙  详情 回复 发表于 2013-12-2 13:13
回复

使用道具 举报

6939#
 楼主| 发表于 2013-12-2 13:13:22 | 只看该作者
hhh333 发表于 2013-12-2 11:27
这个我真的理解不了,也很容易出错,建议不用!!,!总是与其最近的IFEX或FIND匹配,或者干脆用上else ...

这是对原始的IFEX/FIND 的修正。 原来 !作为ELSE 的标志。
1. 单行:逗号后直接接!或!!   这样不解释后面的!
(1) 如果 甲,那么 乙
此时逗号后直接接!!,  表示没有ELSE(假)部分。
IFEX/FIND  甲,!!   乙

(2) 如果 非甲,那么 乙
此时逗号后直接接!,  表示没有IF(真)部分,只有ELSE(假)部分。
IFEX/FIND  甲,!    乙

2. 最好的方发是用{}分行的扩展方法
(1) 如果 甲,那么 乙;否则 丙
IFEX/FIND  甲,
{
   乙
}!
{
   丙
}
可以只有一部分
(2) 如果 甲,那么 乙
IFEX/FIND  甲,
{
   乙
}

(3) 如果 非甲,那么 乙
IFEX/FIND  甲,!     
{
   乙
}



{}也适用 LOOP/FORX/单用 等
PECMD  HELP BLOCK

点评

目前!有几种情况 !与“ifex”或“find”配合相当于else !与“=”号配合表示不等于符 !在“EXEC”后表示以隐藏方式运行 而后两种语法上比较容易解释,但第一种情况再加进来,就麻烦了。我是强烈建议先引入EL  详情 回复 发表于 2013-12-3 12:01
回复

使用道具 举报

6940#
 楼主| 发表于 2013-12-3 01:06:12 | 只看该作者
freesoft00 发表于 2013-12-1 14:54
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=315277&highlight=

在chiannet发布的pe帖子中 ...

PECMD2012.1.80.13-130810.多窗口线程稳定版_win32_64新设计.sfx.zip
AB软盘、SD卡、手机   不会弹出 没有插盘  提示。
另外: *ab 开关可以跳开 AB软盘。
FORX *ab   ...
IFEX*ab     ...
回复

使用道具 举报

6941#
发表于 2013-12-3 12:01:37 | 只看该作者
mdyblog 发表于 2013-12-2 13:13
这是对原始的IFEX/FIND 的修正。 原来 !作为ELSE 的标志。
1. 单行:逗号后直接接!或!!   这样不解释后 ...

目前!有几种情况
!与“ifex”或“find”配合相当于else
!与“=”号配合表示不等于符
!在“EXEC”后表示以隐藏方式运行
而后两种语法上比较容易解释,但第一种情况再加进来,就麻烦了。我是强烈建议先引入ELSE关键词,再取消!代替ELSE的用法。请作者慎重考虑。

点评

1. 【!与“ifex”或“find”配合相当于else】 这恰是 最初的 PECMD 的设计,最基本的功能, PECMD4.0 等都支持。 去掉这个功能, 以前很多 代码都没法运行了。 兼容就代码重要啊!!!! 你说的 ELSE 格  详情 回复 发表于 2013-12-3 15:54
回复

使用道具 举报

6942#
 楼主| 发表于 2013-12-3 15:54:13 | 只看该作者
本帖最后由 mdyblog 于 2013-12-3 15:56 编辑
hhh333 发表于 2013-12-3 12:01
目前!有几种情况
!与“ifex”或“find”配合相当于else
!与“=”号配合表示不等于符


1.
【!与“ifex”或“find”配合相当于else】
这恰是 最初的 PECMD 的设计,最基本的功能, PECMD4.0 等都支持。
去掉这个功能,  以前很多 代码都没法运行了
兼容就代码重要啊!!!!

你说的  ELSE 格式, 已经有了, 就是 {}
IFEX  甲,
{
   乙
}!
{
  丙
}
这个随便怎么嵌套,看起来一目了然。


2.
!和  EXEC 配合 为隐藏;建议 用*号或 --hide 开关。省得和IFEX/FIND冲突
EXEC*   &&V=*cmd /c  ver
EXEC*  --hide   &&V=cmd /c  ver

3.
!=   建议用 <>  表示。 省得和IFEX/FIND冲突
IFEX  $1<>%X%,    .......

4:
(1)这样  !专门给 IFEX/FIND 用。

(2)如果只有半边IF、ELSE ,一定用 【,!!】 【,!】 ,养成这个习惯。
冲突就小了。
IFEX  甲,!!    乙
IFEX  甲,!     乙

回复

使用道具 举报

6943#
发表于 2013-12-5 09:33:54 | 只看该作者
楼主辛苦了,自己的PE目前用的是1.77版的,很稳定。下载测试一下新版
回复

使用道具 举报

6944#
发表于 2013-12-6 02:38:59 | 只看该作者
WimKit基于WIMGAPI 开发,不依赖于ImageX
现在win8使用的人还是挺多的,而且现在win8下的dism比之前的image功能强大,请各位大神在dism基础上开发何图形化的工具,方便小白使用。谢谢了!
完美的彻底删除更新,同时不影响SFC!(该功能基于Dism SDK安全有保障,同时秒杀微软的更新清理)

------------------------------------------
pecmd是否可以加上imagex和dism等的功能,这样操作就不需要这些文件了,如果可以实现顺便可以做一个图形界面方便操作。
回复

使用道具 举报

6945#
发表于 2013-12-6 02:48:03 | 只看该作者
试着看说明学习pecmd,帮助文档感觉不太详细,有些都没有介绍的以及示例如何用。
比如part命令中的

有很多地方一带而过,或者描述很简略,作者自己肯定明白,如果没有什么编程或者编写脚本经验的人看,有点一头雾水的感觉,pecmd现在已经很强大了,帮助文档能再改进写就好了。
回复

使用道具 举报

6946#
发表于 2013-12-6 14:20:43 | 只看该作者
回复

使用道具 举报

6947#
 楼主| 发表于 2013-12-6 18:50:57 | 只看该作者
freesoft00 发表于 2013-12-6 02:38
------------------------------------------
pecmd是否可以加上imagex和dism等的功能,这样操作就 ...

PECMD 已经之际支持部分 WIM 的功能, 加载、卸载、查询:
┃    │格式│MOUN [*u] [!][Wim路径],<Mount目标目录>,[映像ID],[Wim临时工作目录]                           ┃
┃    │格式│MOUN *query 变量名[=rw][,Mount目标目录]                                                     ┃

imagex.exe  dism 可以用EXEC 来调用。

   EXEC  =!ImageX.exe ... ...

也可以 内置到PECMD资源中;
如资源200为Imagex.exe:
  EXEC  --exe:*#200   =!MyImageX   ... ...
这样PECMD  就自带 Imagex了, 不需要外部ImageX。就像内置功能一样使用。
DISM 同样。


示例中的 BCDTool.EXE 就是内置了bcdedit.exe

回复

使用道具 举报

6948#
 楼主| 发表于 2013-12-6 18:52:40 | 只看该作者
freesoft00 发表于 2013-12-6 02:48
试着看说明学习pecmd,帮助文档感觉不太详细,有些都没有介绍的以及示例如何用。
比如part命令中的

是呀!
有谁有时间来写写, 搞个CHM 文件。
把HELP.TXT 丰富一下。

回复

使用道具 举报

6949#
发表于 2013-12-6 19:13:43 | 只看该作者
dism的话还需要附带很多模块文件的吧,否则单独的一个这个文件无法运行吧。
回复

使用道具 举报

6950#
发表于 2013-12-6 19:16:23 | 只看该作者
一段时间作者和dvd008会员交互很频繁,dvd008的特点就是说话简略的不得了,有时候真的不知道在说的是什么,之后呢我发现你也是这个说话语调了,不知道是否原来就是这样。所以说明中的介绍真的有很多地方说的实在是不明白,也许是我本人基础太低了
回复

使用道具 举报

6951#
 楼主| 发表于 2013-12-7 12:01:48 | 只看该作者
freesoft00 发表于 2013-12-6 19:13
dism的话还需要附带很多模块文件的吧,否则单独的一个这个文件无法运行吧。

好像还需要安装。 有个什么服务吧。
文件到考到XP下,无法运行。
还是  WIM驱动/IMAGEX/PECMD 小巧点。
回复

使用道具 举报

6952#
发表于 2013-12-7 12:59:43 | 只看该作者
谢谢,更新一下!
回复

使用道具 举报

6953#
发表于 2013-12-7 20:00:21 | 只看该作者
PECMD2012.1.80.13.01-130810.多窗口线程稳定版_win32_64新设计.sfx
这个版本64位PECMD好像不能关机和重启。
PECMD2012.1.78.20.01-130510.多窗口线程稳定版_win32_64.sfx
这个版本的可以

点评

最新版本是:PECMD2012.1.80.14 PECMD2012.1.78.21 最新版本 始终 在这2个目录中: PECMD2012.1.80最新[/backcolor] PECMD2012.1.78最新[/backcolor] PECMD2012.1.80.13.01  详情 回复 发表于 2013-12-7 21:36
回复

使用道具 举报

6954#
 楼主| 发表于 2013-12-7 21:36:04 | 只看该作者
2010hktk 发表于 2013-12-7 20:00
PECMD2012.1.80.13.01-130810.多窗口线程稳定版_win32_64新设计.sfx
这个版本64位PECMD好像不能关机和重 ...

最新版本是:PECMD2012.1.80.14  
            PECMD2012.1.78.21  


最新版本 始终 在这2个目录中:
      PECMD2012.1.80最新

      PECMD2012.1.78最新


PECMD2012.1.80.13.01 已经删除了 。

回复

使用道具 举报

6955#
发表于 2013-12-8 21:31:43 | 只看该作者
备份恢复WINDOWS6B运行后退出进程不会退出
回复

使用道具 举报

6956#
 楼主| 发表于 2013-12-8 23:31:34 | 只看该作者
本帖最后由 mdyblog 于 2013-12-9 12:26 编辑
freesoft00 发表于 2013-12-8 21:31
备份恢复WINDOWS6B运行后退出进程不会退出


http://pan.baidu.com/s/11mP3H# 备份恢复WINDOWS6C.zip
回复

使用道具 举报

6957#
发表于 2013-12-10 13:58:55 | 只看该作者
谢谢楼主分享~~!
回复

使用道具 举报

6958#
发表于 2013-12-11 15:35:22 | 只看该作者
有才 啊  支持
回复

使用道具 举报

6959#
发表于 2013-12-11 18:39:10 | 只看该作者
本帖最后由 caocaofff 于 2013-12-12 07:33 编辑

将一变量赋值到粘贴板的命令怎么写?还有清空粘贴板的命令?

点评

┃ │ │※剪切板: ENVI^ Clipboard=字符串 //支持变量 ┃ ┃ │ │※剪切板: ENVI^ Clipboard?=变量名 //查询  详情 回复 发表于 2013-12-14 14:13
回复

使用道具 举报

6960#
发表于 2013-12-14 07:40:04 | 只看该作者
最新版本80.14有问题:
1、登录到桌面以后再TEXT会有重影
2、64位一直有一个问题,做出的窗体中,点确定等命令按钮它不会有反应或者延时几秒钟才有反应,但如果将窗口移动一下,它立即就有反应。这次这个问题依旧,但这次更严重,双击执行一个产生窗体的脚本时无反应,要到桌面其他地方击鼠标才出窗体。
3、这次怎么体积增大10k,加了什么功能?

点评

》》1、登录到桌面以后再TEXT会有重影 WIN8不同, 需要 LOGO ** LOGO *top ** //为TEXT命令准备一块画布 TEXT 1**6 》》 2、64位一直有一个问题,做出的窗体中,点确定等命令按钮它不会有反应或  详情 回复 发表于 2013-12-14 14:18
增大10k: 加了几个 PBR 资源。  详情 回复 发表于 2013-12-14 14:15
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-29 03:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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