无忧启动论坛

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

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

    [复制链接]
11071#
 楼主| 发表于 2015-10-10 13:38:48 | 只看该作者
本帖最后由 mdyblog 于 2015-10-10 13:40 编辑
ling3882688 发表于 2015-10-10 13:05
M大,变量和变量叠加怎么处理?
SET Num=1
SET A1=111


MESS %A%Num%%
------------
这是4.0的用法。
这样有问题;编出来的脚本,会出你意想不到的幽灵问题。好像示例中有测试脚本演示这个问题。

建议不要这样。
ENVI^ EnviMode=1 或  ENVI^ ForceLocal=1 后,就没有这个效果了。

PECMD2012正规的用法:
SET~  Ai=A%Num%
最近的版本还有一种用法
^SET  Ai=%%A%Num%%%

  1. SET Num=1
  2. SET A1=111
  3. SET A2=222
  4. SET A3=333
  5. SET~ Ai=A%Num%
  6. MESS A%Num%=[%Ai%]   //A1=[111]
复制代码


  1. SET Num=1
  2. SET A1=111
  3. SET A2=222
  4. SET A3=333
  5. SET~ Ai=A%Num%
  6. ^SET  Ai=%%A%Num%%%   //A1=[111]
复制代码

点评

谢谢M大,本来还有个测试的实例想请教呢,看了你的回复修改了一下,问题解决了。~再解释一次即可。  详情 回复 发表于 2015-10-10 14:28
回复

使用道具 举报

11072#
发表于 2015-10-10 14:28:12 | 只看该作者
本帖最后由 ling3882688 于 2015-10-10 14:29 编辑
mdyblog 发表于 2015-10-10 13:38
MESS %A%Num%%
------------
这是4.0的用法。


谢谢M大,本来还有个测试的实例想请教呢,看了你的回复修改了一下,问题解决了。~再解释一次即可。

有个小建议,PECMD打开之后下面的代码区域如果粘贴了很多代码,可否选中某个代码之后点搜索就是搜索选中部分?

点评

是在上面的 帮助文本中搜索---找相关帮助 吗?  详情 回复 发表于 2015-10-10 14:35
回复

使用道具 举报

11073#
 楼主| 发表于 2015-10-10 14:35:26 | 只看该作者
ling3882688 发表于 2015-10-10 14:28
谢谢M大,本来还有个测试的实例想请教呢,看了你的回复修改了一下,问题解决了。~再解释一次即可。

...

是在上面的 帮助文本中搜索---找相关帮助  吗?

点评

[attachimg]228989[/attachimg] 如上图。  详情 回复 发表于 2015-10-10 14:41
回复

使用道具 举报

11074#
发表于 2015-10-10 14:41:27 | 只看该作者
本帖最后由 ling3882688 于 2015-10-10 14:44 编辑
mdyblog 发表于 2015-10-10 14:35
是在上面的 帮助文本中搜索---找相关帮助  吗?



如上图。在有很多代码和文字的情况下,选中之后点搜索搜索的也不是选中的文字而是最开头的代码。所以不是很方便。

点评

新版支持了。 还支持键搜索 效果: [attachimg]229006[/attachimg]  详情 回复 发表于 2015-10-10 16:03
回复

使用道具 举报

11075#
 楼主| 发表于 2015-10-10 16:03:14 | 只看该作者
ling3882688 发表于 2015-10-10 14:41
如上图。在有很多代码和文字的情况下,选中之后点搜索搜索的也不是选中的文字而是最开头的代码。所以 ...

新版支持了。 还支持<F3>键搜索
效果:

点评

谢M大!太棒了。  详情 回复 发表于 2015-10-10 16:07
回复

使用道具 举报

11076#
发表于 2015-10-10 16:07:29 | 只看该作者
mdyblog 发表于 2015-10-10 16:03
新版支持了。 还支持键搜索
效果:

谢M大!太棒了。
回复

使用道具 举报

11077#
 楼主| 发表于 2015-10-10 21:29:33 | 只看该作者
这个PECMDX64 内置了WoW64补丁。 大家测试下。
在MAIN 和 INIT指令时自动执行。

PECMD.rar

861.36 KB, 下载次数: 9

点评

初步使用能正常运行32位程序 最新的包内的pecmd-x64 是否已经支持wow64了?  详情 回复 发表于 2015-10-11 15:48
MAIN,使用PECMD就会用到, INI里面再INIT, 不是重复加载了吗? INIT加个参数比较好, 其它不要,毕竟只是WIN10才需要.  详情 回复 发表于 2015-10-11 07:48
回复

使用道具 举报

11078#
发表于 2015-10-10 22:13:16 | 只看该作者
M大,请问怎么获取含有UD分区的磁盘盘符?

例如 fbinst.exe --hdlist 可以列出所有磁盘信息并用*号标识含有UD分区的磁盘,从而获取盘符。

请问用PECMD怎样实现?只需要加载PE时或进入PE后获取含有UD分区的磁盘盘符。
回复

使用道具 举报

11079#
 楼主| 发表于 2015-10-10 22:54:52 | 只看该作者
本帖最后由 mdyblog 于 2015-10-10 23:01 编辑
lps4290 发表于 2015-10-10 22:13
M大,请问怎么获取含有UD分区的磁盘盘符?

例如 fbinst.exe --hdlist 可以列出所有磁盘信息并用*号标识 ...


  1. PART LIST DISK ,&&DSKS
  2. FORX * %&DSKS%,&&dsk,
  3. {*   
  4.     MOUN-udm listud -ret:  &&V  -udmask: 0x100000  \\.\PhysicalDrive%&dsk%
  5.     FIND $%&V%=, EXIT -
  6.     PART list part %&dsk%, &&prts
  7.     SET &Drvs=
  8.     FORX * %&prts%,&&prt,
  9.     {*  PART -iv=8 list part %&dsk%:%&prt%, &&Drv
  10.         FIND $%&Drv%<>, SET Drvs=%&Drvs% %&Drv%
  11.     }
  12.     MESS UD: hd%dsk%  %&Drvs%
  13. }
复制代码

点评

谢了M大,这样我就可以弃用fbinst.exe了。 学习多了,发现很多第三方工具都不需要了, 像整理盘符脚本什么的,感谢M大的付出!  详情 回复 发表于 2015-10-14 00:15
回复

使用道具 举报

11080#
发表于 2015-10-11 01:32:17 | 只看该作者
本帖最后由 huaqingyuan 于 2015-10-11 01:33 编辑

老大 我们知道rundll32 netplwiz.dll,UsersRunDll,就是调用netplwiz.dll的UsersRunDll函数
那么用CALL 调用netplwiz.dll怎么实现呢?
call $netplwiz.dll,UsersRunDll,
还有
call $netplwiz.dll,UsersRunDllW,
都不对,应该怎么写呢?

点评

老大 我们知道rundll32 netplwiz.dll,UsersRunDll,就是调用netplwiz.dll的UsersRunDll函数 ------------------------------ rundll32 netplwiz.dll,UsersRunDll,[/backcolor] 这样对吗? 即使换成半角, run  详情 回复 发表于 2015-10-11 08:37
试试 call $netplwiz.dll,UsersRunDll 还有 call $netplwiz.dll,UsersRunDllW  详情 回复 发表于 2015-10-11 08:07
回复

使用道具 举报

11081#
发表于 2015-10-11 07:48:15 | 只看该作者
mdyblog 发表于 2015-10-10 21:29
这个PECMDX64 内置了WoW64补丁。 大家测试下。
在MAIN 和 INIT指令时自动执行。

MAIN,使用PECMD就会用到,

INI里面再INIT, 不是重复加载了吗?

INIT加个参数比较好, 其它不要,毕竟只是WIN10才需要.

点评

1: 不会重复,内部判断 2:内部判读,  详情 回复 发表于 2015-10-11 08:06
回复

使用道具 举报

11082#
 楼主| 发表于 2015-10-11 08:06:44 | 只看该作者
2012bzsb 发表于 2015-10-11 07:48
MAIN,使用PECMD就会用到,

INI里面再INIT, 不是重复加载了吗?

1: 不会重复,内部判断

2:内部判读,<win10不执行。
回复

使用道具 举报

11083#
 楼主| 发表于 2015-10-11 08:07:08 | 只看该作者
本帖最后由 mdyblog 于 2015-10-11 09:40 编辑

huaqingyuan 发表于 2015-10-11 01:32
老大 我们知道rundll32 netplwiz.dll,UsersRunDll,就是调用netplwiz.dll的UsersRunDll函数
那么用CALL 调 ...

试试
CALL $--win netplwiz.dll,UsersRunDll,






RUNDLL32 有些 隐含参数,--win 就是自动补上隐含参数。同时,真正的参数格式,完全不是你看到的那样。
固定4个参数
参数1  参数2  参数3  参数4
参数1  参数2  参数4 是隐含

参数3 是 rundll32 函数名后面 整个参数表,格式固定为字符串,里面的半角逗号也是串内的一个字符,不能作为参数分隔
RUNDLL32 DLl,FUN AAA,BBBB,CCC
这里 AAA,BBBB,CCC 整个是 参数3
为隐藏其中的逗号,包装成一个字符串&FullParam,用 *FullParam作为参数,CALL $就看不到这些逗号。
SET &FullParam=AAA,BBBB,CCC
CALL $DLL,FUN,#%&__WinID%,#%&__HINST%,*FullPARAM,#5
  
实际为:
  1. SET &FullPARAM=
  2. CALL $netplwiz.dll,UsersRunDll,#%&__WinID%,#%&__HINST%,*FullPARAM,#5
复制代码


FullPARAM中没半角逗号,所以,也可直接写为:
  1. CALL $netplwiz.dll,UsersRunDll,#%&__WinID%,#%&__HINST%,$,#5
复制代码


加个 --win 开关, PECMD自动处理,就没那么多事。

PECMD补充说明.doc---52#
回复

使用道具 举报

11084#
 楼主| 发表于 2015-10-11 08:37:28 | 只看该作者
本帖最后由 mdyblog 于 2015-10-11 08:46 编辑
huaqingyuan 发表于 2015-10-11 01:32
老大 我们知道rundll32 netplwiz.dll,UsersRunDll,就是调用netplwiz.dll的UsersRunDll函数
那么用CALL 调 ...

老大 我们知道rundll32 netplwiz.dll,UsersRunDll,就是调用netplwiz.dll的UsersRunDll函数
------------------------------
rundll32 netplwiz.dll,UsersRunDll,
这样对吗?

即使换成半角,
rundll32 netplwiz.dll,UsersRunDll,
这样对吗?
拷到命令行试试?


应该是 rundll32 netplwiz.dll,UsersRunDll
后面没有逗号。

PECMD为:
CALL $--win netplwiz.dll,UsersRunDll,   //RUNDLL32

点评

huaqingyuan: 刚下载了最新版本,严格按照你的命令,还是没有任何反映 ----------------------------- 试试整个测试包。解开, 管理员运行, 测试.CMD  详情 回复 发表于 2015-10-11 11:50
当然运行rundll32 netplwiz.dll,UsersRunDll是可以的  发表于 2015-10-11 11:44
刚下载了最新版本,严格按照你的命令,还是没有任何反映  发表于 2015-10-11 11:41
是没有逗号,这个号是文中是标点,谢谢你解答,只是PECMD按照您的方法还是没有任何反映,我换最新版本看看  发表于 2015-10-11 11:31
回复

使用道具 举报

11085#
 楼主| 发表于 2015-10-11 09:57:17 | 只看该作者
好像今天百度盘 出问题了, 登录不了,总是密码不对。
回复

使用道具 举报

11086#
 楼主| 发表于 2015-10-11 11:50:22 | 只看该作者
mdyblog 发表于 2015-10-11 08:37
老大 我们知道rundll32 netplwiz.dll,UsersRunDll,就是调用netplwiz.dll的UsersRunDll函数
----------- ...


huaqingyuan:
刚下载了最新版本,严格按照你的命令,还是没有任何反映
-----------------------------
试试整个测试包。解开, 管理员运行, 测试.CMD
测试包.zip (780.52 KB, 下载次数: 4)

效果:

点评

[attachimg]229062[/attachimg] 没反映,所以加了命令暂停了一下  详情 回复 发表于 2015-10-11 12:03
还是没有任何反映,win7 X64环境  发表于 2015-10-11 11:58
回复

使用道具 举报

11087#
发表于 2015-10-11 12:03:06 | 只看该作者
mdyblog 发表于 2015-10-11 11:50
huaqingyuan:
刚下载了最新版本,严格按照你的命令,还是没有任何反映
------------------------- ...




没反映,所以加了命令暂停了一下

点评

你是什么系统? X64 要用 PECMD-64  详情 回复 发表于 2015-10-11 12:36
回复

使用道具 举报

11088#
发表于 2015-10-11 12:04:44 | 只看该作者
直接打开PECMD帮助,下下面写命令运行也是一样

点评

新版本 自动判断。 直接用 UsersRunDll 也是可以的。 效果: [attachimg]229077[/attachimg]  详情 回复 发表于 2015-10-11 14:13
回复

使用道具 举报

11089#
 楼主| 发表于 2015-10-11 12:36:28 | 只看该作者
huaqingyuan 发表于 2015-10-11 12:03
没反映,所以加了命令暂停了一下

你是什么系统?
X64 要用 PECMD-64

点评

huaqingyuan : 是的,替换了的 --------------- 哦, 看了下, win7以上, 要用UsersRunDllW[/backcolor] CALL $--win netplwiz.dll,UsersRunDllW[/backcolor], win7效果: [attachimg]229076[/attac  详情 回复 发表于 2015-10-11 13:35
huaqingyuan 是的,替换了的 ------------ 那就算了, 没时间折腾了。  详情 回复 发表于 2015-10-11 12:43
挺麻烦的! 为什么 要“点评”, 儿不是直接“回复”? “点评”都没地方回复, 帖子显示也是乱跑,点开,跑到别的地方,而不是直接看到你的“点评”。  详情 回复 发表于 2015-10-11 12:42
是的,替换了的  发表于 2015-10-11 12:40
回复

使用道具 举报

11090#
 楼主| 发表于 2015-10-11 12:42:54 | 只看该作者
mdyblog 发表于 2015-10-11 12:36
你是什么系统?
X64 要用 PECMD-64

挺麻烦的!
为什么 要“点评”, 儿不是直接“回复”?

“点评”都没地方回复,  帖子显示也是乱跑,点开,跑到别的地方,而不是直接看到你的“点评”。
回复

使用道具 举报

11091#
 楼主| 发表于 2015-10-11 12:43:25 | 只看该作者
mdyblog 发表于 2015-10-11 12:36
你是什么系统?
X64 要用 PECMD-64

huaqingyuan
是的,替换了的
------------
那就算了, 没时间折腾了。
回复

使用道具 举报

11092#
 楼主| 发表于 2015-10-11 13:35:59 | 只看该作者
mdyblog 发表于 2015-10-11 12:36
你是什么系统?
X64 要用 PECMD-64

huaqingyuan :
是的,替换了的
---------------
哦, 看了下, win7以上, 要用UsersRunDllW
CALL $--win netplwiz.dll,UsersRunDllW,   

win7效果:


回复

使用道具 举报

11093#
 楼主| 发表于 2015-10-11 14:13:43 | 只看该作者
本帖最后由 mdyblog 于 2015-10-11 14:24 编辑
huaqingyuan 发表于 2015-10-11 12:04
直接打开PECMD帮助,下下面写命令运行也是一样


新版本 测试包2.rar (1.36 MB, 下载次数: 9) 自动判断。
直接用 UsersRunDll 也是可以的。

效果:
回复

使用道具 举报

11094#
发表于 2015-10-11 15:48:12 | 只看该作者
mdyblog 发表于 2015-10-10 21:29
这个PECMDX64 内置了WoW64补丁。 大家测试下。
在MAIN 和 INIT指令时自动执行。

初步使用能正常运行32位程序

最新的包内的pecmd-x64 是否已经支持wow64了?

点评

最新的包内的pecmd-x64 是否已经支持wow64了? ----------- 支持。 网盘还没上传。 上面的附件才可以。  详情 回复 发表于 2015-10-11 18:29
回复

使用道具 举报

11095#
 楼主| 发表于 2015-10-11 18:29:55 | 只看该作者
andos 发表于 2015-10-11 15:48
初步使用能正常运行32位程序

最新的包内的pecmd-x64 是否已经支持wow64了?

最新的包内的pecmd-x64 是否已经支持wow64了?
-----------
支持。
网盘还没上传。

上面的附件才可以。
回复

使用道具 举报

11096#
发表于 2015-10-12 08:04:16 来自手机 | 只看该作者
m大,请问一个目录里有若干子目录,找出含关键字的子目录作为变量怎么写?

如:
C:\ABC
C:\ABC\aa123
C:\ABC\456bb
C:\ABC\hh789

找出目录ABC里含关键字123的子目录并以C:\ABC\aa123作为变量

点评

SET &V= FORX @D:\ABC\*,&&D,0, TEAM NAME &&nm=%&D%| LPOS* &&I=123,,%&NM%| IFEX $%&I%>0, SET V=%&D% MESS. %&V%  详情 回复 发表于 2015-10-12 09:41
回复

使用道具 举报

11097#
 楼主| 发表于 2015-10-12 09:41:01 | 只看该作者
singel 发表于 2015-10-12 08:04
m大,请问一个目录里有若干子目录,找出含关键字的子目录作为变量怎么写?

如:

SET &V=
FORX @D:\ABC\*,&&D,0, TEAM NAME &&nm=%&D%| LPOS* &&I=123,,%&NM%| IFEX $%&I%>0, SET V=%&D%
MESS. %&V%

点评

多谢M大 :-) 下面这个脚本里的Java_home变量怎么使即时生效呢?用ENVI命令刷新不能即时生效。  详情 回复 发表于 2015-10-12 12:04
回复

使用道具 举报

11098#
发表于 2015-10-12 12:04:39 | 只看该作者
mdyblog 发表于 2015-10-12 09:41
SET &V=
FORX @D:\ABC\*,&&D,0, TEAM NAME &&nm=%&D%| LPOS* &&I=123,,%&NM%| IFEX $%&I%>0, SET V=%&D% ...

多谢M大 :-)

下面这个脚本里的Java_home变量怎么使即时生效呢?用ENVI命令刷新不能即时生效。


  1. LOGS * X.LOG

  2. ENVI op=%%SystemRoot%%\system32;%%SystemRoot%%;%%SystemRoot%%\System32\Wbem
  3. ENVI HKLM=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

  4. //定义JDK变量
  5. SET &V=
  6. FORX @%CurDir%\*,&&D,0, TEAM NAME &&nm=%&D%| LPOS* &&I=JDK,,%&NM%| IFEX $%&I%>0, SET V=%&D%
  7. ENVI Java_home=%&V%
  8. ENVI Classpath=.;%%Java_home%%\lib;%%Java_home%%\lib\dt.jar;%%Java_home%%\lib\Tools.jar;
  9. ENVI Java_path=.;%%Java_home%%\bin;%%Java_home%%\jre\bin;%%Java_home%%\jre7\bin;

  10. REGI ~%HKLM%\Java_home,JH
  11. FIND $%JH%=%Java_home%,CALL uninstall!CALL install

  12. _SUB install
  13.   //添加Java_home变量
  14.   REGI ~%HKLM%\Java_home=%Java_home%
  15.   //添加Classpath变量
  16.   REGI ~%HKLM%\Classpath=%Classpath%
  17.   //增加Path变量
  18.   REGI ~%HKLM%\Path=%op%;%Java_path%
  19.   //刷新环境变量
  20.   ENVI
  21. _END

  22. _SUB uninstall
  23.   REGI %HKLM%\Java_home!
  24.   REGI %HKLM%\Classpath!
  25.   REGI %HKLM%\Path!
  26.   REGI ~%HKLM%\Path=%op%
  27.   ENVI
  28. _END
复制代码

点评

1: ENVI Java_home=%&V% 换成 ENVI #Java_home=%&V% 2: 即时生效 什么意思? 什么效果?  详情 回复 发表于 2015-10-12 12:12
回复

使用道具 举报

11099#
 楼主| 发表于 2015-10-12 12:12:29 | 只看该作者
singel 发表于 2015-10-12 12:04
多谢M大 :-)

下面这个脚本里的Java_home变量怎么使即时生效呢?用ENVI命令刷新不能即时生效。

1:
ENVI Java_home=%&V%
换成
ENVI #Java_home=%&V%


2:  即时生效 什么意思? 什么效果?

点评

原来是新版PECMD2012将%%JAVA_HOME%%扩展成实际路径写进注册表了,ENVI刷新变量没问题。 ENVI JPATH=.;%%Java_home%%\bin;%%Java_home%%\jre\bin;%%Java_home%%\jre7\bin; REGI ~HKLM\SYSTEM\CurrentControlSet\  详情 回复 发表于 2015-10-12 20:15
回复

使用道具 举报

11100#
发表于 2015-10-12 20:15:32 | 只看该作者
mdyblog 发表于 2015-10-12 12:12
1:
ENVI Java_home=%&V%
换成

原来是新版PECMD2012将%%JAVA_HOME%%扩展成实际路径写进注册表了,ENVI刷新变量没问题。

ENVI JPATH=.;%%Java_home%%\bin;%%Java_home%%\jre\bin;%%Java_home%%\jre7\bin;
REGI ~HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path=%JPATH%

新版写进注册表后值为:
PATH=.;%E:\Personal\WIM\JAVA\jdk1.7.0_13%\bin;%E:\Personal\WIM\JAVA\jdk1.7.0_13%\jre\bin;%E:\Personal\WIM\JAVA\jdk1.7.0_13%\jre7\bin;

旧版写进注册表后值为:
PATH=.;%Java_home%\bin;%Java_home%\jre\bin;%Java_home%\jre7\bin;

不知道新版本怎么使%JAVA_HOME%不扩展为实际路径?

点评

文件最前面加上: ENVI^ EnviMode=1 这样环境变量PECDM2012标准模式,为了兼容4.0,就是,默认是兼容模式。 建议新写的代码,用标准模式。 兼容模式,会出莫名其妙的问题。(兼容模式其逻辑不能很好预测,因  详情 回复 发表于 2015-10-12 20:25
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-11 00:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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