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

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

   火... [复制链接]
 楼主| 发表于 2013-3-28 15:16:16 | 显示全部楼层
原帖由 clonecd 于 2013-3-28 09:53 发表
mdyblog老师,64位的PECMD2012怎么删除帮助啊?用32位的方法行不通了。
能否给我一个不带帮助的64位PECMD2012,主要是考虑打包减小体积。


用RESEDit 3.6   编辑 X64\PECMD原始.exe
再压缩。

mpress.ntr 没有解压功能, 所以, 每次用 PECMD原始.exe 来改。

PECMD原始无HELP.part1.rar

292.97 KB, 下载次数: 16

PECMD原始无HELP.part2.rar

166.55 KB, 下载次数: 12

回复

使用道具 举报

发表于 2013-3-28 17:38:13 | 显示全部楼层
论坛中提供的单文件版很多在64位下都无法运行,所以我个人不怎么使用单文件版
那么VMware.ThinApp做的单文件版可以吗
回复

使用道具 举报

发表于 2013-3-28 20:53:57 | 显示全部楼层
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=192943&highlight=ThinApp

论坛原来流行过一段单文件版,旧版这个软件还有汉化版。
回复

使用道具 举报

 楼主| 发表于 2013-3-28 21:58:54 | 显示全部楼层
原帖由 clonecd 于 2013-3-28 19:56 发表


不过我还不是很明白,用32位的PECMD2012在同样的64位WIN7中跑同一份脚本却没有此问题。


WIN7  参数检查严格些。  
同样的问题, 在 WIN2000  到 WINXP 中叶很常见。 很多原来在WIN2000正常的程序, 在 winXP 下怪怪的。

32位的PECMD2012在同样的64位:
(1) 此时 然是WIN7-64, 但系统有2份DLL, PECMD2012-32 用的其实还是原来的NT5(XP) 的DLL 。
(2) PECMD2012 虽然圆码是一份编的, 但编译器 用的 MS  的 LIB库 是不同的, 看体积可以看到, 64位的大很多。
回复

使用道具 举报

发表于 2013-3-28 22:48:32 | 显示全部楼层
ThinApp后来不是被证实有兼容性问题么,有些软件用ThinApp打包后脱离制作环境的系统到别的机器上就运行不了了,我也遇到过运行不了的ThinApp打包程序。


话说,能否把 PECMD 默认界面的帮助功能稍稍改得易用一点,命令检索现在只能按首字母加高亮,按第2个字母就转到别的命令去了,然后回车就直接退出 PECMD,能否让回车直接跳转到检索出的命令而不是非要鼠标双击才可以?
回复

使用道具 举报

 楼主| 发表于 2013-3-29 00:07:29 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-28 22:48 发表
ThinApp后来不是被证实有兼容性问题么,有些软件用ThinApp打包后脱离制作环境的系统到别的机器上就运行不了了,我也遇到过运行不了的ThinApp打包程序。


话说,能否把 PECMD 默认界面的帮助功能稍稍改得易用 ...

PECMD HELP 已改。 随移随显。

按 B 1次 就是 B开始的第1个标签。
按 B 2次 就是 B开始的第2个标签。
按 B 3次 就是 B开始的第3个标签。
。。。
如此循环。
不需要按第二个字母, 反正第一个字母相同的命令没几个。

回车, 不退出。

[ 本帖最后由 mdyblog 于 2013-3-29 00:13 编辑 ]
回复

使用道具 举报

发表于 2013-3-29 02:06:26 | 显示全部楼层

回复 #5338 mdyblog 的帖子

帮助字体是否可以变大些,现在字体太小了,那个看到费劲呀。
帮助窗口中右击菜单是否可以增加一个查找功能
回复

使用道具 举报

发表于 2013-3-29 07:47:28 | 显示全部楼层
原帖由 <i>mdyblog</i> 于 2013-3-29 00:07 发表
PECMD HELP 已改。 随移随显。

按 B 1次 就是 B开始的第1个标签。
按 B 2次 就是 B开始的第2个标签。
按 B 3次 就是 B开始的第3个标签。
。。。
如此循环。
不需要按第二个字母, 反正第一个字母相同的命令没几个。

回车, 不退出。
<br />

谢谢,这样好很多了,PECMD 4.0 起就经常 F1 了之后立马一个回车挂掉窗口,这样方便多了。
回复

使用道具 举报

 楼主| 发表于 2013-3-29 08:15:52 | 显示全部楼层
原帖由 freesoft00 于 2013-3-29 02:06 发表
帮助字体是否可以变大些,现在字体太小了,那个看到费劲呀。
帮助窗口中右击菜单是否可以增加一个查找功能


可以 在PECMD.EXE的目录下,建1语言文件 PECMD.exe.936.lang
放一行即可:
#str:01003=10,宋体


说明:登录到 WinPE框,   _SUB,  MESS,  HELP 4种界面的字体可单独设定。
(下面 #str:// 开始的行为注释)
#str://----登录到 WinPE框,_SUB,MESS, HELP -------,
#str://字体格式:[大小][,名称][**BbUuIiUuSs#Weight#Width#CharSet#Quality#Orientation#Escapement#OutPrecision#ClipPrecision#PitchAndFamily]
#str://_SUB 字体
#str:01001=9,宋体
#str://登录框 字体
#str:01002=10,宋体
#str://HELP 字体
#str:01003=9,宋体
#str://MESS 字体



下面附件是默认的语言配置文件, 自己修改吧。(PECMD.exe.950.lang 繁转简就差不多了)


查找?!!
有点喧宾夺主了。
这些需要写执行码的, 而且不能像文档那样删掉。

长查找的东东, 可放到右边的标签列表。
其它的吗, 用其它文本编辑器 来打开包中的 HELP0.TXT,
手边 没有 , 可以在HELP 界面 全选=》复制, -》粘贴 到 其它文本编辑器。

[ 本帖最后由 mdyblog 于 2013-3-29 08:29 编辑 ]

PECMD.exe.936.lang默认.zip

1.36 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2013-3-29 10:06:05 | 显示全部楼层
PECMD2012.1.75.1-130314-19
FIND*c 支持大小写

FIND*c  $a=A, MESS 相等 ! MESS 不相等
//不相等

包内加入 ResEdit3.6 (支持X64) , pecmd.exe.936.help已内置

[ 本帖最后由 mdyblog 于 2013-3-29 10:07 编辑 ]
回复

使用道具 举报

发表于 2013-3-29 12:53:55 | 显示全部楼层
FILE 命令对加了引号的路径识别是什么规则?

MESS %CurFile%
FILE %CurFile%

这段脚本在脚本文件名有没有空格的时候有些不大一样,路径有空格的时候,%CurFile%会自动在两边加上双引号,第二个 FILE 命令在脚本路径没有空格的时候可以删掉脚本文件,但是文件名里有空格就不行了。
回复

使用道具 举报

 楼主| 发表于 2013-3-29 13:41:39 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-29 12:53 发表
FILE 命令对加了引号的路径识别是什么规则?

MESS %CurFile%
FILE %CurFile%

这段脚本在脚本文件名有没有空格的时候有些不大一样,路径有空格的时候,%CurFile%会自动在两边加上双引号,第二个 FILE 命令 ...


文件名优空格, FILE 也不加引号。 FILE 是用逗号分隔文件名的。

可以脱去外面的引号,再删除。
////1: 用 行式函数 LAMBDA
SET &Cufile0=
[]%CurFile%{* SET Cufile0=%~1}
FILE %&Cufile0%
MESS %&Cufile0%

////或 _SUB函数////(上面简单,但不好懂
_SUB TrimQu *  
    ENVI %1=%~2
_END

SET &Cufile0=
TrimQu  &Cufile0  %CurFile%
FILE %&Cufile0%
MESS %&Cufile0%


回复

使用道具 举报

发表于 2013-3-29 14:02:09 | 显示全部楼层
FILE 在复制的时候也是一样的规则吧?现在是用 []%CurFile%{FILE %~1} 删除的。
回复

使用道具 举报

 楼主| 发表于 2013-3-29 14:31:38 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-29 14:02 发表
FILE 在复制的时候也是一样的规则吧?现在是用 []%CurFile%{FILE %~1} 删除的。


规则一样。

再下载吧。 有引号也没问题了。
FILE "新建 文本文档.txt"
回复

使用道具 举报

 楼主| 发表于 2013-3-29 14:32:47 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-29 14:02 发表
FILE 在复制的时候也是一样的规则吧?现在是用 []%CurFile%{FILE %~1} 删除的。

厉害啊, 还知道这么变通。  更简洁!!!
回复

使用道具 举报

发表于 2013-3-29 16:38:21 | 显示全部楼层
非常感谢楼主的分享!谢谢
回复

使用道具 举报

发表于 2013-3-29 20:09:47 | 显示全部楼层
lamda 函数还是很好用的,拆空格分隔的字串的时候也很好用。

DATE 指定获取子项的时候一次只能获取一个子项的值吗?

新上传那个19的包好像把32/64的版本弄错了,本来应该是32位的版本运行不了。

[ 本帖最后由 2010qaqz111 于 2013-3-29 20:26 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2013-3-29 22:47:51 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-29 20:09 发表
lamda 函数还是很好用的,拆空格分隔的字串的时候也很好用。

DATE 指定获取子项的时候一次只能获取一个子项的值吗?

新上传那个19的包好像把32/64的版本弄错了,本来应该是32位的版本运行不了。


是的, DATE 指定获取子项的时候一次只能获取一个子项的值。

2: 已更新。
回复

使用道具 举报

 楼主| 发表于 2013-3-29 22:55:25 | 显示全部楼层

备份恢复WINDOWS.zip (可备份恢复当前系统)

http://mdyblog.blog.163.com/blog/static/106150119201202591855298/

http://pan.baidu.com/share/link?shareid=398791&uk=3962464512#备份恢复WINDOWS.zip
备份恢复WINDOWS.zip (可直接备份恢复当前系统)  用 PECMD制作 。 不必安装。直接使用(绿色)。
//

系统盘则自动为DOS方式

[ 本帖最后由 mdyblog 于 2013-3-29 23:48 编辑 ]
Snap1.gif
回复

使用道具 举报

发表于 2013-3-30 04:10:19 | 显示全部楼层
在 PECMD.INI 遇到不能创建多线程的问题。

PECMD.INI:
...
LOAD P1.INI
...


P1.INI:
...
THREAD LOAD P11.INI
THREAD LOAD P12.INI
...


P11.INI:
...
THREAD LOAD P111.INI
LOAD 112.INI
LOAD 113.INI
...


这样一个调用 LOAD 的嵌套,在P11.INI中的3个LOAD命令全部被直接忽略了,这是怎么回事?
这些 INI 里面都是初始化的配置,全是平铺的代码,没有窗口定义没有 _SUB。

机器是单核单线程的(赛扬 M440)。

[ 本帖最后由 2010qaqz111 于 2013-3-30 04:11 编辑 ]
回复

使用道具 举报

发表于 2013-3-30 04:53:28 | 显示全部楼层
这一段码:
SET &S0=AA "BB FF 199" DD 121 AA "BB CC XZ" EE 122
SET &T1="BB CC XZ"
SET &T2="BB DD KK"
LPOS** &&P1=%&T1%,,%&S0%
LPOS** &&P2=%&T2%,,%&S0%
MSTR &&M1=<%&P1%>%&S0%
MSTR &&M2=<%&P2%>%&S0%
MESS %&P1% -> %&M1%\n%&P2% -> %&M2%

结果显示:
2 -> "BB FF 199"
2 -> "BB FF 199"

这算bug吗?
如何解释出现这样的结果?
是否在使用 LPOS** 的时候应该注意不能使用中间有空格哪怕是外面加了双引号的串作为搜索目标?

本来期望返回应该是:
6 -> "BB CC XZ"
0 ->

[ 本帖最后由 2010qaqz111 于 2013-3-30 04:57 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2013-3-30 08:01:57 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-30 04:53 发表
这一段码:

结果显示:

这算bug吗?
如何解释出现这样的结果?
是否在使用 LPOS** 的时候应该注意不能使用中间有空格哪怕是外面加了双引号的串作为搜索目标?

本来期望返回应该是:

LPOS**   支持的是 空字符 分割的串。
你这种 不支持。

要写成函数。

_SUB FINDStr

[ 本帖最后由 mdyblog 于 2013-3-30 08:25 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2013-3-30 08:21:48 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-30 04:10 发表
在 PECMD.INI 遇到不能创建多线程的问题。

PECMD.INI:


P1.INI:


P11.INI:


这样一个调用 LOAD 的嵌套,在P11.INI中的3个LOAD命令全部被直接忽略了,这是怎么回事?
这些 INI 里面都是初始化 ...


是主线程退出, 子线程检测到 “主线程退出”,也退出了。

在 主线程 PECMD.INI 后面加 WAIT 1000 等一等。
或者 THREAD加后缀*.   这样为等待模式。 就没问题了。
回复

使用道具 举报

 楼主| 发表于 2013-3-30 09:35:51 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-30 04:53 发表
这一段码:

结果显示:

这算bug吗?
如何解释出现这样的结果?
是否在使用 LPOS** 的时候应该注意不能使用中间有空格哪怕是外面加了双引号的串作为搜索目标?

本来期望返回应该是:


LPOS 已增强。新版。
LPOS**  换成 LPOS***  试试。
回复

使用道具 举报

发表于 2013-3-30 13:12:18 | 显示全部楼层
LPOS*** 可以正确处理引号串了,LPOS** 遇到引号串的行为有了变化,不过应该没有大碍。

另外一个问题,LOAD 加载配置文件的时候传递参数,比如这样的:


EXEC* &&DR=!cmd /c "dir /a"
LOAD zx2.wcs "%&DR%"

DR 的内容就是一个包含很多空格分隔开的多行串,使用引号包起来传入的话可以用 %~1 还原,但是如果不用引号包围传入用 %* 或者 %@ 却提取不到内容呢?
回复

使用道具 举报

 楼主| 发表于 2013-3-30 13:37:52 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-30 13:12 发表
LPOS*** 可以正确处理引号串了,LPOS** 遇到引号串的行为有了变化,不过应该没有大碍。

另外一个问题,LOAD 加载配置文件的时候传递参数,比如这样的:


EXEC* &&DR=!cmd /c "dir /a"
LOAD zx2.wcs "%& ...


1. LPOS** 遇到引号串的行为有了变化
是的。
也支持 含空格的串。 但此时返回的结果,和MSTR 不兼容, 以 空字符 分割的串 为单位。 一般不用。

LPOS**  &&V1="A B",,1 2 3 "X Y 1  2" "A B"  "C D"
LPOS*** &&V2="A B",,1 2 3 "X Y 1  2" "A B"  "C D"
MESS %V1% %V2%
// V1=8
"A B" 前 有7个空字符分割的串【1】 【 2】  【3】 【"X】 【Y】  【1】  【2"】
// V2=5
【"X Y 1 2"】为一个单位


2.
此种情况 必须用""

这是一个良好的习惯。 否则 碰到 含空格的文件路径名,软件运行不对。
传入时始终加""; 里面使用时再脱""
DIR  用 /b 参数  
或者用 FORX
这样得到干净的文件名。
EXEC* &&DR=!cmd /c "dir /a /b"



3: %@ 能得到输入的原始参数,空格都不少, 只是没有“”时, 不知道如何使用
D:\aa bb.wcs:
FIND $X=X%1,
{
  LOAD %CurFile%   fh - 副本.doc        44 55
  EXIT FILE
}
MESS  【%@】@#OK
// 【"D:\aa  bb.wcs"   fh - 副本.doc        44 55】

[ 本帖最后由 mdyblog 于 2013-3-30 13:51 编辑 ]
回复

使用道具 举报

发表于 2013-3-30 13:46:41 | 显示全部楼层
LOAD 传参数的引号问题有点小麻烦,用引号包围传入要求被包围的串里没有引号才可以完整传入,但是本身就包含引号串的话就不行了,比如 fbinst info 命令返回的文件列表,是这样的:
version: 1.6
base boot sector: 63
boot code size: 4
primary data size: 16384
extended data size: 1474560
debug version: no
bpb status: init
format options: --zip --primary 16384 --extended 1474560
file list size: 896
file list used: 2
files:
  0    "IMGS/!DUMMY" 0x3c4 0 (2013-03-23 11:43:40)
  0    "MINIPE/!DUMMY" 0x3c4 0 (2013-03-23 11:43:40)
  0    "fb.cfg" 0x3c4 19 (2013-03-23 12:31:14)
  0    "grldr" 0x3c5 273690 (2013-03-24 22:56:37)
  0    "BOOT/advboot.lst" 0x5de 3402 (2013-03-23 11:24:23)
  0    "BOOT/hotkey" 0x5e5 4201 (2013-03-23 11:14:19)
  0    "BOOT/menu.lst" 0x5ee 447 (2013-03-23 11:23:31)
  0    "BOOT/menuset" 0x5ef 1720 (2013-03-23 11:14:19)
  0    "BOOT/start.lst" 0x5f3 2091 (2013-03-23 11:23:11)
  0    "BOOT/tools.lst" 0x5f8 3014 (2013-03-23 12:26:47)
  0    "BOOT/Tranquillity1.lzma" 0x5fe 970057 (2013-03-23 11:14:19)
  0    "BOOT/unifont-cn.hex" 0xd6d 205371 (2013-03-23 11:14:19)
  0*   0xf00 0x3100
  1e   "IMGS/DGDOS.IMG" 0x4000 1696353 (2013-03-23 09:30:44)
  1e   "IMGS/GHOST.IMG" 0x4cf2 5579552 (2013-03-23 09:30:43)
  1e   "IMGS/HDAT2.IMG" 0x7784 1005550 (2013-03-23 11:18:52)
  1e   "IMGS/HDDREG.IMG" 0x7f30 1144965 (2013-03-23 09:30:43)
  1e   "IMGS/KONBOOT.IMG" 0x87ed 5083 (2013-03-23 09:30:43)
  1e   "IMGS/MEMTEST.IMG" 0x87f7 69213 (2013-03-23 09:30:43)
  1e   "IMGS/PASSWORD.IMG" 0x887f 510431 (2013-03-23 09:30:43)
  1e   "IMGS/XLY.IMG" 0x8c64 512152 (2013-03-23 09:30:43)
  1e   "MINIPE/1.ICO" 0x904d 3774 (2013-03-23 12:29:35)
  1e   "MINIPE/BOOT.INI" 0x9055 282 (2013-03-23 12:29:35)
  1e   "MINIPE/BOOT2.INI" 0x9056 5497 (2013-03-23 12:29:35)
  1e   "MINIPE/OP.WIM" 0x9061 248818742 (2013-03-23 12:29:57)
  1e   "MINIPE/UD.INI" 0x7fab8 13619 (2013-03-23 12:29:57)
  1e   "MINIPE/UD7.INI" 0x7fad3 1040 (2013-03-23 12:29:57)
  1e   "MINIPE/UD8.INI" 0x7fad6 1017 (2013-03-23 12:29:57)
  1e   "MINIPE/UDXP.INI" 0x7fad8 13958 (2013-03-23 12:29:57)
  1e   "MINIPE/Win7_PE.ISO" 0x7faf4 132153344 (2013-03-23 12:30:05)
  1e   "MINIPE/Win8_PE.ISO" 0xbeb34 213975040 (2013-03-23 12:30:21)
  1e   "MINIPE/WINNT6.INI" 0x124bb4 6600 (2013-03-23 12:30:21)
  1e   "MINIPE/WINPE.ISO" 0x124bc1 28545024 (2013-03-23 12:30:23)
  1e   "MINIPE/WINPE03.ISO" 0x132589 79491072 (2013-03-23 12:30:31)
  1e   "MINIPE/WINPENT.INI" 0x158401 13116 (2013-03-23 12:30:31)
  1*   0x15841b 0x13be5
primary area free space: 6397440
extended area free space: 41404928

这个参数传入用引号包围也不行了,我现在是这样传的:

zx1.wcs
EXEC* &&DR=!fbinst (ud) info
LOAD zx2.wcs &DR

zx2.wcs
SET~ &K1=%1
MESS %&K1%

这样倒是可以完整取到多行串内容的。
回复

使用道具 举报

 楼主| 发表于 2013-3-30 13:58:12 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-30 13:46 发表
LOAD 传参数的引号问题有点小麻烦,用引号包围传入要求被包围的串里没有引号才可以完整传入,但是本身就包含引号串的话就不行了,比如 fbinst info 命令返回的文件列表,是这样的:
这个参数传入用引号包围也不 ...

1: 这是引用传递, 引用传递什么都能传递。

像这种大数据量传递, 一般用引用传递。 以提高效率。
像这种无格式数据,或多行数据, 一般用引用传递。 具体怎么提取参数, 由调用者自己处理。



2:%@传递如下
用下面命令来提取参数:
MSTR &&PARAM=<2->%@
从第2个开始的全部。
第1个为脚本名或函数名。


FIND $X=X%1,
{
  LOAD %CurFile%   "fh - 副本.doc"        44 55
  LOAD %CurFile%    fh - 副本.doc 44 55
  EXIT FILE
}
MSTR &&PARAM=<2->%@
MESS.  原始[%@] @#OK
MESS.  参数[%&PARAM%]@#OK






[ 本帖最后由 mdyblog 于 2013-3-30 14:03 编辑 ]
回复

使用道具 举报

发表于 2013-3-30 14:06:10 | 显示全部楼层
%* 和 %@ 不能直接在 MESS 里面用吗?显示出来都只有一个 % 就没了,用 SET 赋值给另外一个变量就可以 MESS 显示了。


MSTR 和 LPOS*** 的 -delims 如何用呢?比如我要同时指定空格、换行、制表、单引号、双引号、左右圆括号、左右方括号、大于小于号、冒号、竖线为分隔符,应该怎么写?

[ 本帖最后由 2010qaqz111 于 2013-3-30 14:10 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2013-3-30 14:12:29 | 显示全部楼层
原帖由 2010qaqz111 于 2013-3-30 14:06 发表
%* 和 %@ 不能直接在 MESS 里面用吗?显示出来都只有一个 % 就没了,用 SET 赋值给另外一个变量就可以 MESS 显示了。

可以用。
此时 要用完整形式。 否则 @和*当做 MESS 的开关符号。
后面加个@就可以了。 一般@ #OK

MESS. %@@#OK
MESS. %*@#OK


[ 本帖最后由 mdyblog 于 2013-3-30 14:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-10 13:37

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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