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

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

   火... [复制链接]
发表于 2014-12-31 16:50:45 | 显示全部楼层
mdyblog 发表于 2014-12-31 12:27
CALL 函数, 只能是 "当前" "内存文件", 不能跨越调用

PECMD2012有几种方法

谢谢M大。
回复

使用道具 举报

 楼主| 发表于 2015-1-1 04:51:34 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-1 09:31 编辑

X64上支持超大FBWF的PECMD(X64).EXE
支持超大FBWFPECMD64.7z (590.11 KB, 下载次数: 2)

在8GRAM的电脑上测试
FBWF P60 L256 H5000

启动成功
结果应该是4.8G吧。



------------
实测,只能拷贝718M。不知还有哪儿限制,不知和WIM制作是否有关。
未命名截图FBWF.png
回复

使用道具 举报

发表于 2015-1-1 10:46:54 | 显示全部楼层
好像说从WIN8开始,FBWF的设定是无效的
回复

使用道具 举报

发表于 2015-1-1 18:44:32 | 显示全部楼层
FILE命令在使用通配符的时候,如何排除指定文件呢?
比如%WinDir%\SYSTEM32\下有PD111.EXE PD123.EXE PD456.EXE
FILE %WinDir%\SYSTEM32\PD*.EXE=>%WinDir%\SysWOW64\
如何排除PD111.EXE呢?

点评

FORX循环。 或 (可以多行,从而可实现更复杂的功能)  详情 回复 发表于 2015-1-1 22:34
回复

使用道具 举报

发表于 2015-1-1 20:14:43 | 显示全部楼层
前面的curdir异常是如何产生的?是原代码丢了吗?还会不会有已经更正过的异常再次出现异常?

点评

》》前面的curdir异常是如何产生的?是原代码丢了吗?还会不会有已经更正过的异常再次出现异常? 估计是编译、编辑问题。(源码丢了,也没法确认) 36版,几乎没改什么(忙着MBROSTool收尾) 但是奇怪的问题不  详情 回复 发表于 2015-1-1 22:30
回复

使用道具 举报

 楼主| 发表于 2015-1-1 22:30:03 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-1 22:36 编辑
hhh333 发表于 2015-1-1 20:14
前面的curdir异常是如何产生的?是原代码丢了吗?还会不会有已经更正过的异常再次出现异常?


》》前面的curdir异常是如何产生的?是原代码丢了吗?还会不会有已经更正过的异常再次出现异常?
估计是编译、编辑问题。(源码丢了,也没法确认)
36版,几乎没改什么(忙着MBROSTool收尾)
//以后的版本号和33-37一样跑得快, 因为MBROSTool自动升级PECMD.EXE是根据版本号的。

但是奇怪的问题不少。

1)系统时钟错误。会影响VC的编译。
2)VC编辑是 出过花屏。会破坏源代码。


》》还会不会有已经更正过的异常再次出现异常?
一般不会。这段代买一般也不会动的。
这是C++编的。彼此独立性还是满强的。
即使出问题,重新拿出来编译就没问题了。
回复

使用道具 举报

 楼主| 发表于 2015-1-1 22:34:31 | 显示全部楼层
ling3882688 发表于 2015-1-1 18:44
FILE命令在使用通配符的时候,如何排除指定文件呢?
比如%WinDir%\SYSTEM32\下有PD111.EXE PD123.EXE PD45 ...

FORX循环。

  1. FORX %WinDir%\SYSTEM32\PD*.EXE,&&F,0,  FIND $%&F%<>%WinDir%\SYSTEM32\PD111.EXE, FILE %&F%=>%WinDir%\SysWOW64\
复制代码


或 (可以多行,从而可实现更复杂的功能)
  1. FORX %WinDir%\SYSTEM32\PD*.EXE,&&F,0,
  2. {
  3. FIND $%&F%<>%WinDir%\SYSTEM32\PD111.EXE, FILE %&F%=>%WinDir%\SysWOW64\
  4. }
复制代码

点评

谢谢M大! IFEX命令,我想判断多个条件,就是or或者and。 帮助里的这个有点搞不明白:IFEX 条件1,!! IFEX 条件2,! IFEX 条件3, 做某事1! 做某事2 比如:我想判断桌面3个文件夹分别名称为%desktop%\11 %deskto  详情 回复 发表于 2015-1-1 23:00
回复

使用道具 举报

发表于 2015-1-1 23:00:59 | 显示全部楼层
本帖最后由 ling3882688 于 2015-1-2 00:03 编辑


谢谢M大!{:soso_e183:} 代码这东西要是看不懂就晕了,看懂了真的是醉了!那句话怎么说的:令人愉悦的代码通常是及其简单粗暴的!
IFEX命令,我想判断多个条件,就是or或者and。
帮助里的这个有点搞不明白:IFEX 条件1,!! IFEX 条件2,! IFEX 条件3, 做某事1! 做某事2   
比如:我想判断3个文件夹分别名称为11 22 33
1、如果 11 22 33三个有一个存在则:MESS 存在
2、只有 11 22 33三个都存在才满足:MESS 存在

要是可以这样写就好了{:soso_e113:} :
IFEX 11 AND 22 AND 33,MESS 存在!MESS 不存在
IFEX 11 OR 22 OR 33,MESS 存在!MESS 不存在


还有个问题:没有盘符的分区如何在不分配盘符的情况下获取文件系统信息? 比如:0#2
也就是PART -GUI里第二项的文件系统。实际上导出的磁盘信息里并不包含这一项。
1.png

点评

>>还有个问题:没有盘符的分区如何在不分配盘符的情况下获取文件系统信息? 比如:0#2 也就是PART -GUI里第二项的文件系统。实际上导出的磁盘信息里并不包含这一项。 --------------------------------- 临时分配  详情 回复 发表于 2015-1-2 02:54
>>IFEX命令,我想判断多个条件 IFEX/FIND/LOOP 支持条件组合。(80版以上,具体看看帮助) IFEX $[ 条件1 & 条件2 & 条件3 .。。 ], DO_A! DO_B & 是和 | 是与 可以用() 格式│IFEX{|}[^#~+-]{*ab  详情 回复 发表于 2015-1-2 02:46
回复

使用道具 举报

 楼主| 发表于 2015-1-2 02:46:50 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-2 09:13 编辑
ling3882688 发表于 2015-1-1 23:00
谢谢M大! 代码这东西要是看不懂就晕了,看懂了真的是醉了!那句话怎么说的:令人愉悦的 ...

>>IFEX命令,我想判断多个条件

IFEX/FIND/LOOP 支持条件组合。(80版以上,具体看看帮助)

IFEX $[ 条件1 & 条件2 & 条件3 .。。  ],   DO_A! DO_B

& 是和
| 是与
可以用()

格式│IFEX{|}[^#~+-]{*ab} {! }{$}[{! }<条件1> 关系运算 {! }<条件2> ..],{命令1}{! 命令2} //组合条件

IFEX [ $2 < 12 & C:\>10 & C:\ > 10 & ( C:\boot.ini ) & MEM > 100 ], MESS YES

IFEX $[ 11<>0 &  22 <>0 &  33<>0  ], MESS 存在! MESS 不存在
IFEX $[ 11<>0 |  22<>0 | 33<>0 ],MESS 存在! MESS 不存在
注意]前有个空格, 各条件间, &和| 前后有空格, 多些空格有好处。
IFEX $[]内部可直接用字符串比较,字符串都单引号括起来。
IFEX $[ ‘%ABC%’='123'  | 11<>0 |  22<>0 | 33<>0 ],MESS 存在! MESS 不存在

点评

IFEX $[ 110 & 22 0 & 330 ], MESS 存在!MESS 不存在 IFEX $[ 110 | 220 | 330 ],MESS 存在!MESS 不存在 我测试了是这样的: [attachimg]206311[/attachimg]  详情 回复 发表于 2015-1-2 08:41
回复

使用道具 举报

 楼主| 发表于 2015-1-2 02:54:02 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-2 02:57 编辑
ling3882688 发表于 2015-1-1 23:00
谢谢M大! 代码这东西要是看不懂就晕了,看懂了真的是醉了!那句话怎么说的:令人愉悦的 ...


>>还有个问题:没有盘符的分区如何在不分配盘符的情况下获取文件系统信息? 比如:0#2
也就是PART -GUI里第二项的文件系统。实际上导出的磁盘信息里并不包含这一项。
---------------------------------
临时分配一个盘符,用完删掉
下面写好的函数
_SUB GetVol
    TEAM SET &v=| SET &b=0| SET &VL=%~3| SET &dsk=%~4| SET &pt=%~5| SET &r1=| SET &r2=
    FIND $%&VL%=,!  FDRV *vol &r1,&r2=%&VL%
    FIND $%&VL%=,
    { LOCK #pecmd_disk
        ENVI &b=1
        FDRV *idle *rsort &&VL=*:
        LSTR &VL=2,%&VL%
        SHOW & %&dsk%#%&pt%,%&VL%
        FDRV *vol &r1,&r2=%&VL%
        SHOW & ,%&VL%
    }
    ENVI-ret %1=%&r1%
    ENVI-ret %2=%&r2%
_END

GetVol  &&VOL  &&FS ""  0 2
MESS.   【%&VOL%】   【%FS%】
//【win7x86】   【NTFS】

点评

谢谢M大。  详情 回复 发表于 2015-1-2 08:28
回复

使用道具 举报

发表于 2015-1-2 08:28:39 | 显示全部楼层
mdyblog 发表于 2015-1-2 02:54
>>还有个问题:没有盘符的分区如何在不分配盘符的情况下获取文件系统信息? 比如:0#2
也就是PART -GU ...

谢谢M大。{:soso_e179:}
回复

使用道具 举报

发表于 2015-1-2 08:41:18 | 显示全部楼层
mdyblog 发表于 2015-1-2 02:46
>>IFEX命令,我想判断多个条件

IFEX/FIND/LOOP 支持条件组合。(80版以上,具体看看帮助)

IFEX $[ 11<>0 &  22 <>0 &  33<>0  ], MESS 存在!MESS 不存在
IFEX $[ 11<>0 |  22<>0 | 33<>0 ],MESS 存在!MESS 不存在

我测试了是这样的:
1.jpg

点评

IFEX $[ 110 & 22 0 & 330 ], MESS 存在! MESS 不存在 !是半角的, 不会死全角的  详情 回复 发表于 2015-1-2 09:10
回复

使用道具 举报

 楼主| 发表于 2015-1-2 09:10:14 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-2 09:11 编辑
ling3882688 发表于 2015-1-2 08:41
IFEX $[ 110 &  22 0 &  330  ], MESS 存在!MESS 不存在
IFEX $[ 110 |  220 | 330 ],MESS 存在!MESS  ...


IFEX $[ 110 &  22 0 &  330  ], MESS 存在! MESS 不存在

!是半角的, 不是全角的

--------结果:
存在

点评

[attachimg]206314[/attachimg]  详情 回复 发表于 2015-1-2 10:13
平时也就逗号啥的注意过全角半角,! 这个还真没注意过。  详情 回复 发表于 2015-1-2 09:47
回复

使用道具 举报

发表于 2015-1-2 09:47:47 | 显示全部楼层
mdyblog 发表于 2015-1-2 09:10
IFEX $[ 110 &  22 0 &  330  ], MESS 存在! MESS 不存在

!是半角的, 不是全角的

{:soso_e113:}平时也就逗号啥的注意过全角半角,! 这个还真没注意过。
回复

使用道具 举报

发表于 2015-1-2 10:13:13 | 显示全部楼层
本帖最后由 ling3882688 于 2015-1-2 10:14 编辑
mdyblog 发表于 2015-1-2 09:10
IFEX $[ 110 &  22 0 &  330  ], MESS 存在! MESS 不存在

!是半角的, 不是全角的

咋还是不行呢?
1.jpg

点评

文间判断不要和 算比较混了。 还是好好看看帮助吧。 [attachimg]206316[/attachimg] 效果: [attachimg]206315[/attachimg]  详情 回复 发表于 2015-1-2 10:28
回复

使用道具 举报

 楼主| 发表于 2015-1-2 10:28:50 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-2 10:30 编辑


文间判断不要和  算比较混了。
还是好好看看帮助吧。
00064.png
检测文件或目录: 文件路径
不需要其它符号
检测目录(非文件): 目录路径\
不需要其它符号

效果:
00065.png

点评

好的,我再仔细看下。  详情 回复 发表于 2015-1-2 10:39
回复

使用道具 举报

发表于 2015-1-2 10:39:18 | 显示全部楼层
本帖最后由 ling3882688 于 2015-1-2 11:19 编辑
mdyblog 发表于 2015-1-2 10:28
文间判断不要和  算比较混了。
还是好好看看帮助吧。


好的.
回复

使用道具 举报

发表于 2015-1-3 17:50:03 | 显示全部楼层
curdir有问题,还是没解决,还是上个图吧,是由G:\H3PE\winpe.ini中调用Z:\DR8\REGDOC.INI,用的是PECMD2012.1.88.05.38.精简兼容版.sfx
Windows 8-2015-01-03-17-43-55.png

点评

你是不是开了多线程。 %curdir% 本身的问题,多线程中又能问题 用 %&CurDir% 不知道是不是这个原因。 根据你的意思,我写了个测试包。 运行 TESTCur.CMD 即可。 下面是测试LOG,CURDIR正常。 你再改改,  详情 回复 发表于 2015-1-3 21:40
回复

使用道具 举报

 楼主| 发表于 2015-1-3 21:40:41 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-3 21:58 编辑
hhh333 发表于 2015-1-3 17:50
curdir有问题,还是没解决,还是上个图吧,是由G:\H3PE\winpe.ini中调用Z:\DR8\REGDOC.INI,用的是PECMD201 ...


你是不是开了多线程。
%curdir% 本身的问题,多线程中又能问题
用 %&CurDir%。 //这是最简单的方法。
环境变量不支持多线程, 多线程 要用PE变量。

不知道是不是这个原因。

根据你的意思,我写了个测试包。 测试Cur.zip (3.91 KB, 下载次数: 1)
运行 TESTCur.CMD 即可。
下面是测试LOG,CURDIR正常。
你再改改,看怎么出那你说的问题。

  1. 1        [LOGS * X.LOG]        <0>        :操作成功完成。
  2. 1        {LOAD G:\H3PE\winpe.ini}
  3. {ENTER:G:\H3PE\winpe.ini}
  4. 2        [MESS.  GO [G:\H3PE\winpe.ini] [G:\H3PE] [G:] PECMD[201201880538]]        <0>        :操作成功完成。
  5. 3        {LOAD Z:\DR8\REGDOC.INI}
  6. {ENTER:Z:\DR8\REGDOC.INI}
  7. 1        [MESS.  [Z:\DR8\REGDOC.INI] [Z:\DR8] [Z:]]        <0>        :操作成功完成。
  8. 2        [MESS.  【LINK D:\MDY\DESKTOP\驱动总管,PECMD.EXE,Z:\DR8\DRVALL.INI,Z:\DR8\DRVALL.ICO】@]        <0>        :操作成功完成。
  9. 3        [LINK D:\MDY\DESKTOP\驱动总管,PECMD.EXE,Z:\DR8\DRVALL.INI,Z:\DR8\DRVALL.ICO]        <0>        :操作成功完成。
  10. {LEAVE:Z:\DR8\REGDOC.INI}
  11. 3        [LOAD Z:\DR8\REGDOC.INI]        <0>        :操作成功完成。
  12. 4        [MESS.  BACK [G:\H3PE\winpe.ini] [G:\H3PE] [G:] PECMD[201201880538]]        <0>        :操作成功完成。
  13. {LEAVE:G:\H3PE\winpe.ini}
  14. 1        [LOAD G:\H3PE\winpe.ini]        <0>        :操作成功完成。
复制代码

点评

没使用过多线程,原来的代码没有变,只变了PECMD。  详情 回复 发表于 2015-1-3 23:07
回复

使用道具 举报

发表于 2015-1-3 23:07:13 | 显示全部楼层
mdyblog 发表于 2015-1-3 21:40
你是不是开了多线程。
%curdir% 本身的问题,多线程中又能问题
用 %&CurDir%。 //这是最简单的方法。 ...

没使用过多线程,原来的代码没有变,只变了PECMD。

点评

改好了。 88.0.5.39 上面的测试程序改了下。有38 39 的LOG对比。 你那航母8PE64效果--驱动总管有图标了: [attachimg]206383[/attachimg]  详情 回复 发表于 2015-1-4 10:05
回复

使用道具 举报

发表于 2015-1-4 07:51:32 | 显示全部楼层
本帖最后由 ling3882688 于 2015-1-4 09:46 编辑

TEAM ※本命令与IFEX或FIND命令不能嵌套使用。
复杂的嵌套应该是不可以的,简单的应该没问题吧?
IFEX 1.TXT,!TEAM MESS 1111|IFEX 2.TXT,!MESS 2222

点评

>>TEAM ※本命令与IFEX或FIND命令不能嵌套使用。 这是 标准版(4.0)的说法. 2012其实扩展了, 可以嵌套。 只是注意:前面的优先配对! 一般人容易出错,所以这句话还留着。 配对关系如图: IFEX 1.TXT,! TEA  详情 回复 发表于 2015-1-4 10:17
回复

使用道具 举报

发表于 2015-1-4 08:10:25 | 显示全部楼层
本帖最后由 hhh333 于 2015-1-4 08:12 编辑

附上LOG文件: PECMD.7z (10.53 KB, 下载次数: 4)
全乱了,调用的INI中的curdir全部变为主文件INI的路径了。
回复

使用道具 举报

 楼主| 发表于 2015-1-4 10:05:04 | 显示全部楼层
hhh333 发表于 2015-1-3 23:07
没使用过多线程,原来的代码没有变,只变了PECMD。

改好了。 88.0.5.39
上面的测试程序改了下。有38  39 的LOG对比。 测试Cur2.zip (4.4 KB, 下载次数: 2)

你那航母8PE64效果--驱动总管有图标了:
未命名截图-H3.png
  
回复

使用道具 举报

 楼主| 发表于 2015-1-4 10:17:56 | 显示全部楼层
ling3882688 发表于 2015-1-4 07:51
TEAM ※本命令与IFEX或FIND命令不能嵌套使用。
复杂的嵌套应该是不可以的,简单的应该没问题吧?
IFEX 1. ...

>>TEAM ※本命令与IFEX或FIND命令不能嵌套使用。
这是 标准版(4.0)的说法.
2012其实扩展了, 可以嵌套。
只是注意:前面的优先配对!

一般人容易出错,所以这句话还留着。
配对关系如图:
IFEX 1.TXT,!  TEAM  MESS 1111|  IFEX 2.TXT,  MESS Y2222! MESS N2222

------------  -----------------------------------------------------
              ---- ----------   -----------------------------------
                                ----------   ---------   ----------

IFEX 1.TXT,  MESS Y1111!  TEAM  MESS 1111|  IFEX 2.TXT,  MESS Y2222! MESS N2222
----------   ----------   -----------------------------------------------------
                          ---- ----------   -----------------------------------
                               ----------   ---------   ----------




同样TEAM 可嵌套TEAM,注意TEAM被TEAM嵌套一次,|就多写一个
TEAM  MESS 1111| IFEX  1.TXT, TEAM MESS 222|| IFEX 222.TXT, TEAM MESS Y222A||| MESS Y222B! MESS N2222|  MESS 3333
----  ---------  ------------------------------------------------------------------------------------   ---------
                 -----------  -----------------------------------------------------------------------
                              ----  -------   -------------------------------------------------------
                                              -----------  ------------------------------  ----------
                                                           -----  --------     ----------
        


  

点评

好的,谢谢M大。我也是不经意看到这句注释,寻思可能是4.0老版本的,之前一直以为TEAM只不过把两行代码合到一起而已。  详情 回复 发表于 2015-1-4 11:27
回复

使用道具 举报

发表于 2015-1-4 11:27:16 | 显示全部楼层
mdyblog 发表于 2015-1-4 10:17
>>TEAM ※本命令与IFEX或FIND命令不能嵌套使用。
这是 标准版(4.0)的说法.
2012其实扩展了, 可以嵌 ...

好的,谢谢M大。我也是不经意看到这句注释,寻思可能是4.0老版本的,之前一直以为TEAM只不过把两行代码合到一起而已。
回复

使用道具 举报

发表于 2015-1-4 11:56:41 | 显示全部楼层
完全版实际上也存在curdir这个问题

点评

》》完全版实际上也存在curdir这个问题 是的。 精简兼容版 和 完全版 其实是一个程序, 2者运行逻辑完全一样。 精简兼容版 小点,先传。 完全版 大, 还在上传中。 估计晚上才能传完。 (4KByte/s的龟速)  详情 回复 发表于 2015-1-4 13:31
回复

使用道具 举报

 楼主| 发表于 2015-1-4 13:31:55 | 显示全部楼层
hhh333 发表于 2015-1-4 11:56
完全版实际上也存在curdir这个问题

》》完全版实际上也存在curdir这个问题
是的。
精简兼容版  和 完全版 其实是一个程序, 2者运行逻辑完全一样。

精简兼容版 小点,先传。
完全版 大, 还在上传中。 估计晚上才能传完。 (4KByte/s的龟速)

点评

这个是什么原因引起的?  详情 回复 发表于 2015-1-4 14:52
回复

使用道具 举报

发表于 2015-1-4 14:52:23 | 显示全部楼层
mdyblog 发表于 2015-1-4 13:31
》》完全版实际上也存在curdir这个问题
是的。
精简兼容版  和 完全版 其实是一个程序, 2者运行逻辑完 ...

这个是什么原因引起的?

点评

程序调试了下。 那个地方不是最关键的, 那儿只是预设置。 这是的在后面。 原来 为了照顾多线程, 做了写优化。 如果但前目录就是 脚本的目录, 就不切换 程序的 工作目录——免得多线程抖动。 结果顺带连——  详情 回复 发表于 2015-1-4 18:41
程序改错了。 88版的加密比较复杂。 在处理#import的代码后, 为了保险, 加了一段用“&CurDir”恢复“CurDir”。 应该是: 儿子.设置("CurDir”, 儿子.取出("&CurDir")) 错写成 儿子.设置("CurDir”,  详情 回复 发表于 2015-1-4 16:13
回复

使用道具 举报

 楼主| 发表于 2015-1-4 16:13:05 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-4 16:14 编辑
hhh333 发表于 2015-1-4 14:52
这个是什么原因引起的?


程序改错了。

88版的加密比较复杂。
在处理#import的代码后,
为了保险, 加了一段用“&CurDir”恢复“CurDir”。
应该是:
儿子.设置("CurDir”,  儿子.取出("&CurDir"))

错写成
儿子.设置("CurDir”,  取出("&CurDir"))
结果取出的是爸爸的 ("&CurDir"))。 结果就是你看到的 都变成了主程序的"&CurDir"。

点评

老大,36版还有没有保存着,我试试我的xp pe究竟是不是它的缘故导致启动卡死。  详情 回复 发表于 2015-1-4 16:49
回复

使用道具 举报

发表于 2015-1-4 16:49:01 | 显示全部楼层
mdyblog 发表于 2015-1-4 16:13
程序改错了。

88版的加密比较复杂。


老大,36版还有没有保存着,我试试我的xp pe究竟是不是它的缘故导致在我的台式机上启动卡死。

点评

MBROSTool5.2-16D中就有。 哦。 PECMD2012.1.88.05-130810.多窗口线程稳定版_win32_64新设计.sfx.zip 就是36版的。 后来的后面加了数字,如.39  详情 回复 发表于 2015-1-4 17:01
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-17 09:44

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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