无忧启动论坛

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

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

    [复制链接]
6211#
发表于 2013-6-23 12:18:50 | 只看该作者
mdyblog 发表于 2013-6-23 12:13
估计 也能作出来。 但比较麻烦。 有要大动干戈。以后在说吧。
这次精简, 让我掉了一层皮,牵涉的东西这 ...

呵呵,老大辛苦了。
回复

使用道具 举报

6212#
 楼主| 发表于 2013-6-23 15:45:48 | 只看该作者
clonecd 发表于 2013-6-23 14:08
43版 LIST控件拖放有问题,详见附件:

还有其它的BUG,但是我现在还查不出来是什么问题,因为它在43 ...

79N-44
回复

使用道具 举报

6213#
发表于 2013-6-23 18:36:39 | 只看该作者
这个看不懂
回复

使用道具 举报

6214#
发表于 2013-6-24 03:50:01 | 只看该作者
楼主的博客,题材很丰富,同好,有点意思。
回复

使用道具 举报

6215#
发表于 2013-6-24 08:29:50 | 只看该作者
想问几个问题:
1、如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。即是按顺序匹配还是两头匹配,4.0好象是按顺序的。你的如果是两头匹配的,可以有这样的形式:
IF A,IF B,C!D!E意思是IF A,(IF B,C!D)!E,为了便于理解可以不可以这样写成块语句。
IFEX A,{ IF B,C!D}!E

2、在条件语句中如果位于EXEC后的!符号都表示隐藏方式执行,

点评

语法是前面的优先 。 IF1 。。 IF2 .。。 ! 。。。 IF1 。。 EXEC ! 。。。 后面的!优先和IF1 配对。 如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。 IF A,(IF B,C)!D 为:  详情 回复 发表于 2013-6-24 09:13
回复

使用道具 举报

6216#
 楼主| 发表于 2013-6-24 09:13:13 | 只看该作者
hhh333 发表于 2013-6-24 08:29
想问几个问题:
1、如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。即是按顺序匹配还是两 ...

语法是前面的优先 。
IF1 。。 IF2   .。。 !  。。。
IF1 。。 EXEC  !  。。。

后面的!优先和IF1 配对。

如IF A,IF B,C!D 等于IF A,(IF B,C)!D还是IF A,(IF B,C!D)。

IF A,(IF B,C)!D 为:
IF A, IF B,C!D


IF A,(IF B,C!D)为:
IF A,!!  IF B,C!D

IF not A,(IF B,C!D)为:
IF A,!   IF B,C!D

【IF A,】后有!!(或!) 那么 IF A 放弃后面的!,留给后面IF B(或EXEC等)


-------------
IFEX $1=1,!!   EXEC  !=cmd /c dir
IFEX $0=1,!    EXEC  !=cmd /c dir

-------------
EXEC !可以写为 EXEC * 或 EXEC --hide


※--hide 或前导"!"或"*"表示以隐藏方式执行;       //就是解放 语法符号!

IFEX $1=1,  EXEC  *=cmd /c dir

IFEX $1=1,  EXEC  --hide =cmd /c dir

点评

这种形式如何写:IF A,(IF B,C!D)!E,能不能简单地写成:IF A,IF B,C!D!E,我觉得IF后面的!应该与它左边最相近的IF匹配。 可不可以用{}来增加可读性。  详情 回复 发表于 2013-6-24 10:45
回复

使用道具 举报

6217#
发表于 2013-6-24 09:56:09 | 只看该作者
mdyblog 发表于 2013-6-22 19:25
EXEC  --exec:#101    bootpart.exe   参数
这样 直接 在内存中运行, 不需要中间临时文件。 不需要 PU ...

Thank You!! But It don't working, I use Ver Pecmd2012 NEW !!! ??????????????????????

Can create file : PUTF*  %CurDir%\My.exe,0#9M,#101

"EXEC --exec:#101 My.exe" and "EXEC --mem --exec:#101 My.exe" don't run my.exe

点评

http://pan.baidu.com/share/link?shareid=1590227121&uk=3962464512#PECMD执行嵌入文件.zip 直接运行 MyPE.EXE, 自动运行 测试脚本 MyPe.EXE.autoapp.wcs MyPe.EXE.autoapp.wcs(包内有): EXEC --exe:#101 my  详情 回复 发表于 2013-6-24 11:10
回复

使用道具 举报

6218#
发表于 2013-6-24 10:45:47 | 只看该作者
mdyblog 发表于 2013-6-24 09:13
语法是前面的优先 。
IF1 。。 IF2   .。。 !  。。。
IF1 。。 EXEC  !  。。。

这种形式如何写:IF A,(IF B,C!D)!E,能不能简单地写成:IF A,IF B,C!D!E,我觉得IF后面的!应该与它左边最相近的IF匹配。
可不可以用{}来增加可读性。

点评

IF A, { IF B, { C }! { D } }! { E } 或 IF A, { IF B, C ! D }! { E } -------------用 IF A, { }! { } 可以随便怎么嵌套。  详情 回复 发表于 2013-6-24 10:51
回复

使用道具 举报

6219#
 楼主| 发表于 2013-6-24 10:51:30 | 只看该作者
hhh333 发表于 2013-6-24 10:45
这种形式如何写:IF A,(IF B,C!D)!E,能不能简单地写成:IF A,IF B,C!D!E,我觉得IF后面的!应该与它左 ...

IF A,
{
    IF B,
   {
     C
   }!
  {
     D
   }
}!
{
  E
}


IF A,
{
    IF B,   C   !  D
}!
{
  E
}

-------------用
IF A,
{
}!
{
}
可以随便怎么嵌套。

点评

这个{}与批处理的()基本相同吧?  详情 回复 发表于 2013-6-24 10:56
回复

使用道具 举报

6220#
发表于 2013-6-24 10:56:20 | 只看该作者
mdyblog 发表于 2013-6-24 10:51
IF A,
{
    IF B,

这个{}与批处理的()基本相同吧?

点评

差不多。 }后有个!, 再才是 下面ELSE的{  详情 回复 发表于 2013-6-24 11:12
回复

使用道具 举报

6221#
 楼主| 发表于 2013-6-24 11:10:18 | 只看该作者
2011Tduy09 发表于 2013-6-24 09:56
Thank You!! But It don't working, I use Ver Pecmd2012 NEW !!! ??????????????????????

Can create ...

http://pan.baidu.com/share/link? ... uk=3962464512#PECMD执行嵌入文件.zip

直接运行 MyPE.EXE, 自动运行 测试脚本 MyPe.EXE.autoapp.wcs
MyPe.EXE.autoapp.wcs(包内有):
EXEC --exe:#101 myApp1
MESS  PECMD%PECMDVER% \n%&CurFile%\n[EXEC --exe:#101 myApp1] @测试 #OK

//101 为XP 的 记事本
不需要 --mem
--mem 是运行硬盘上的文件,制造幽灵进程。
回复

使用道具 举报

6222#
 楼主| 发表于 2013-6-24 11:12:39 | 只看该作者
本帖最后由 mdyblog 于 2013-6-24 11:16 编辑
hhh333 发表于 2013-6-24 10:56
这个{}与批处理的()基本相同吧?


差不多。
(1) }后有个, 再才是 下面ELSE的{

(2) 关键符号 { } 必须在 一行的开始

点评

如果不满足条件就执行块的话,应该 IF A,! { ..... } 还是 IF not A, { ....... }  详情 回复 发表于 2013-6-25 08:52
回复

使用道具 举报

6223#
发表于 2013-6-24 18:56:37 | 只看该作者
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
这个永远是对的吧?

新版不会影响这个吧?

点评

不影响。                          详情 回复 发表于 2013-6-24 21:18
回复

使用道具 举报

6224#
 楼主| 发表于 2013-6-24 21:18:10 | 只看该作者
2012qnmd 发表于 2013-6-24 18:56
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
这个永远是对的吧?

不影响。                         
回复

使用道具 举报

6225#
发表于 2013-6-25 08:28:46 | 只看该作者
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI, 大概就是以MAIN方式LOAD PECMD.INI

一个普通INI,可以内置到PECMD ,应该是相当于LOAD 吧?

那如何使其内置到PECMD, 而相当于" PECMD.EXE MAIN %WinDir%\System32\PECMD.INI " 呢?

点评

和 LOAD 一样 MAIN *#200 [命令行参数] 200是内置的脚本  详情 回复 发表于 2013-6-25 10:09
回复

使用道具 举报

6226#
发表于 2013-6-25 08:52:16 | 只看该作者
mdyblog 发表于 2013-6-24 11:12
差不多。
(1) }后有个!, 再才是 下面ELSE的{

如果不满足条件就执行块的话,应该
IF A,!
{
.....
}
还是
IF not A,
{
.......
}

点评

IF A,! { ... } 或 IFEX/FIND ! A, { ... } 或 IF A, { //空块 }! { ... }  详情 回复 发表于 2013-6-25 09:54
回复

使用道具 举报

6227#
 楼主| 发表于 2013-6-25 09:54:32 | 只看该作者
hhh333 发表于 2013-6-25 08:52
如果不满足条件就执行块的话,应该
IF A,!
{

IF A,!
{
...
}

IFEX/FIND ! A,
{
...
}


IF  A,
{  //空块
}!
{
...
}
回复

使用道具 举报

6228#
 楼主| 发表于 2013-6-25 10:09:34 | 只看该作者
本帖最后由 mdyblog 于 2013-6-25 10:20 编辑
2012qnmd 发表于 2013-6-25 08:28
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI, 大概就是以MAIN方式LOAD PECMD.INI

一个普通INI,可以内置 ...


和 LOAD 一样
MAIN  [**u]  *#200  [命令行参数]
200是内置的脚本
用 79N-45
// 44及以前为  MAIN  [**u]  #200  [命令行参数]
回复

使用道具 举报

6229#
发表于 2013-6-25 10:18:26 | 只看该作者
我的意思是: 执行"内置PECMD.INI脚本的PECMD.EXE "

结果相当于"PECMD.EXE MAIN %WinDir%\System32\PECMD.INI "

这个INI 如何写.

如原来的

INIT
SHELL ....
''''
'''''

点评

你是说 原来的 PE是 用 外置文件 %WinDir%\System32\PECMD.INI 启动的,(一般都这样)。 你想 罢这个 PECMD.INI 内置到 PECMD.EXE 中, 就不需要外置的 PECMD.INI 。 是这样的吗?  详情 回复 发表于 2013-6-25 10:24
回复

使用道具 举报

6230#
 楼主| 发表于 2013-6-25 10:24:41 | 只看该作者
2012qnmd 发表于 2013-6-25 10:18
我的意思是: 执行"内置PECMD.INI脚本的PECMD.EXE "

结果相当于"PECMD.EXE MAIN %WinDir%\System32\PECMD ...

你是说 原来的 PE是 用 外置文件 %WinDir%\System32\PECMD.INI  启动的,(一般都这样)。
你想 罢这个  PECMD.INI 内置到 PECMD.EXE 中, 就不需要外置的 PECMD.INI 。
是这样的吗?
回复

使用道具 举报

6231#
发表于 2013-6-25 10:27:52 | 只看该作者
对,是这样. 只要执行PECMD.EXE

点评

2012qnmd 发表于 2013-6-25 08:28 PECMD.EXE MAIN %WinDir%\System32\PECMD.INI, 大概就是以MAIN方式LOAD PECMD.INI 1: PECMD.INI 直接内置到 PECMD.EXE的 #200 一般来说内容不用修改。 2:修改 PE 的注  详情 回复 发表于 2013-6-25 11:13
回复

使用道具 举报

6232#
 楼主| 发表于 2013-6-25 11:13:10 | 只看该作者
本帖最后由 mdyblog 于 2013-6-25 11:19 编辑
2012qnmd 发表于 2013-6-25 10:27
对,是这样. 只要执行PECMD.EXE



1:  PECMD.INI 直接内置到 PECMD.EXE的 #200
一般来说,内容不用修改。

2:修改 PE  的注册表。 修改启动SHEL:
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
改为:
PECMD.EXE MAIN  *#200

就这样。
回复

使用道具 举报

6233#
发表于 2013-6-25 11:36:28 | 只看该作者
本帖最后由 2012qnmd 于 2013-6-25 11:40 编辑

哦, 我的意思能不能
修改 PE  的注册表。 修改启动SHEL:
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI
改为:
PECMD.EXE

而不是PECMD.EXE MAIN  *#200   


如果要修改PECMD的源代码,就不用麻烦了.我用其它方式去解决我要的结果.

点评

修改启动SHEL: PECMD_M.EXE PECMD_M.EXE 的 内置自动脚本101内容: EXEC =%&MyName% MAIN *#200 应该可以的。 这样多一个进程。 --------- 101直接 改为: MAIN *#200 也试试把。这样不会多一个  详情 回复 发表于 2013-6-25 12:31
回复

使用道具 举报

6234#
 楼主| 发表于 2013-6-25 12:31:52 | 只看该作者
本帖最后由 mdyblog 于 2013-6-25 12:33 编辑
2012qnmd 发表于 2013-6-25 11:36
哦, 我的意思能不能
修改 PE  的注册表。 修改启动SHEL:
PECMD.EXE MAIN %WinDir%\System32\PECMD.INI


修改启动SHEL:
PECMD_M.EXE

PECMD_M.EXE 的 内置自动脚本101内容:
EXEC =%&MyName% MAIN *#200
应该可以的。 这样多一个进程。


---------
101直接 改为:
MAIN   *#200

也试试把。这样不会多一个进程。 在以前版本 MAIN 不能内部调用(有内在的冲突)。 现在的新设计, 不知道是否可以,没试过。

回复

使用道具 举报

6235#
发表于 2013-6-25 14:18:12 | 只看该作者
上面两个方法都不行,我也不弄了.

问一下,

script 101  是不是可以任意替换为自己的INI ?
原来内容是什么意思?

点评

1: 用下面的方法是可以的。我用 H3CDALL.ISO win8-32 能启动。 http://pan.baidu.com/share/link?shareid=1006907949&uk=3962464512#启动脚本内嵌PECMD.zip PECMD.EXE PECMD_M.EXE 放到 PE中。 PE 启动  详情 回复 发表于 2013-6-26 09:21
是的。 原来:  详情 回复 发表于 2013-6-25 15:16
回复

使用道具 举报

6236#
发表于 2013-6-25 14:27:29 | 只看该作者


如图,请教LZ。
我这里需要卸载 “端口COM和LPT”,再刷新才能出来正确的驱动。
请问,这个卸载操作如何进行?
我只知道PECMD有刷新功能。

点评

好像有个程序 devcon 干这个的。  详情 回复 发表于 2013-6-25 15:18
回复

使用道具 举报

6237#
 楼主| 发表于 2013-6-25 15:16:00 | 只看该作者
2012qnmd 发表于 2013-6-25 14:18
上面两个方法都不行,我也不弄了.

问一下,
是的。
原来:
  1. PATH @%&__OldDir%
  2. IFEX %&MyName%.autoapp.wcs, TEAM LOAD "%&MyName%.autoapp.wcs"  %*| EXIT
  3. SET &cmd=%*
  4. FIND $X=X%&cmd%, SET &cmd=HELP
  5. %&cmd%
复制代码
回复

使用道具 举报

6238#
 楼主| 发表于 2013-6-25 15:18:25 | 只看该作者
本帖最后由 mdyblog 于 2013-6-25 15:21 编辑
红毛樱木 发表于 2013-6-25 14:27
如图,请教LZ。
我这里需要卸载 “端口COM和LPT”,再刷新才能出来正确的驱动。
请问,这个卸载操作如 ...


好像有个程序 devcon  干这个的。


DEVI    *devid:设备ID 则安装指定设备驱动。
指定设备ID, 好像可以 强制替换原来的驱动。
回复

使用道具 举报

6239#
发表于 2013-6-25 16:04:41 来自手机 | 只看该作者
mdyblog 发表于 2013-6-25 15:18 好像有个程序 devcon 干这个的。

好的,回去试试。
回复

使用道具 举报

6240#
发表于 2013-6-25 16:19:30 | 只看该作者
http://bbs.wuyou.net/forum.php?m ... 39&fromuid=1345
为何单独运行pecmd没有联网,而通过一键还原调用就有联网行为呢

点评

你简化一下 脚本。 就剩下几行。 能再现问题即可。 打包上来。  详情 回复 发表于 2013-6-25 17:04
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-10-1 20:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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