无忧启动论坛

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

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

    [复制链接]
13351#
发表于 2017-11-9 09:25:56 | 只看该作者
chxm1023 发表于 2017-11-8 23:06
请问M大,如何获取INI里的变量。比如我们INI里写 XXX=AAA,ENVI变量那样。不需要在ENVI XXX=AAA,在INI里直 ...

READ %CurDir%\配置.INI,**,&A
FORX *NL &A,&B, ENVI %&B%

点评

READ %CurDir%\配置.INI,**,&A FORX *NL &A,&B, ENVI %&B% 5大。这个方法加载有点慢,请问有快点的方法吗?  详情 回复 发表于 2017-11-25 21:49
谢谢5大解答,完美解决!!!  详情 回复 发表于 2017-11-9 21:15
回复

使用道具 举报

13352#
发表于 2017-11-9 09:35:30 | 只看该作者
wjgyz740526 发表于 2017-11-8 10:40
最近遇到的错误代码,汇总下,恳请达人赐教:

1、判断系统位数

判断系统位数:

方法一:
FIND $%&::bX64%=0, MESS 32位系统! MESS 64位系统

方法二:
ENVI ?&A=PEBIT,%WinDir%\system32
MESS. %&A%




判断管理员权限:
ENVI ?&aaa=ISADMIN
IFEX $%&aaa%=1, MESS 有权限! MESS 无权限



假如得不到正确的结果,那归结为三点原因:
1.操作不当,没有右键管理员权限运行等
2.系统问题,建议用MSDN原版系统测试
3.PECMD问题,这个机率很小了。M大上面说了,找他远程调试


点评

这几段代码是要在一起使用的,如果user用户运行那岂不是肯定得不到正确结果?  详情 回复 发表于 2017-11-9 10:37
回复

使用道具 举报

13353#
发表于 2017-11-9 10:37:27 | 只看该作者
527104427 发表于 2017-11-9 09:35
判断系统位数:

方法一:

这几段代码是要在一起使用的,如果user用户运行那岂不是肯定得不到正确结果?

点评

找M大远程,找M大远程,找M大远程。。。 重要的事情说三遍  详情 回复 发表于 2017-11-9 11:27
回复

使用道具 举报

13354#
发表于 2017-11-9 11:27:05 | 只看该作者
wjgyz740526 发表于 2017-11-9 10:37
这几段代码是要在一起使用的,如果user用户运行那岂不是肯定得不到正确结果?

找M大远程,找M大远程,找M大远程。。。
重要的事情说三遍

点评

谢谢!谢谢!!谢谢!!!  详情 回复 发表于 2017-11-9 14:17
回复

使用道具 举报

13355#
发表于 2017-11-9 14:17:42 | 只看该作者
527104427 发表于 2017-11-9 11:27
找M大远程,找M大远程,找M大远程。。。
重要的事情说三遍

谢谢!谢谢!!谢谢!!!
回复

使用道具 举报

13356#
发表于 2017-11-9 18:34:11 | 只看该作者
请问M大如何使用PECMD读取PE中X盘的卷标并执行不同的配置
比如X盘卷标为8pe时执行WIN8PE.INI,为10PE时执行WIN10PE.INI
我记得以前有一篇帖子讨论过,现在找不到了,谢谢

点评

FDRV *vol VOLX,,,=X: FIND $%VOLX%=8PE,MESS A!MESS B  详情 回复 发表于 2017-11-9 19:46
回复

使用道具 举报

13357#
发表于 2017-11-9 19:46:05 | 只看该作者
826773297 发表于 2017-11-9 18:34
请问M大如何使用PECMD读取PE中X盘的卷标并执行不同的配置
比如X盘卷标为8pe时执行WIN8PE.INI,为10PE时执 ...

FDRV *vol VOLX,,,=X:
FIND $%VOLX%=8PE,MESS A!MESS B

点评

感谢C大,谢谢  详情 回复 发表于 2017-11-9 19:48
回复

使用道具 举报

13358#
发表于 2017-11-9 19:48:08 | 只看该作者
chiannet 发表于 2017-11-9 19:46
FDRV *vol VOLX,,,=X:
FIND $%VOLX%=8PE,MESS A!MESS B

感谢C大,谢谢

点评

我们好好感谢mdyblog 大大吧,如今的PECMD系列工具真是博大精深,向高级语言迈进了  详情 回复 发表于 2017-11-9 19:57
回复

使用道具 举报

13359#
发表于 2017-11-9 19:57:56 | 只看该作者

我们好好感谢mdyblog 大大吧,如今的PECMD系列工具真是博大精深,向高级语言迈进了

点评

感谢m大,感谢c大,感谢无忧,感谢十八大,感谢咱大中国!!!  发表于 2017-11-9 21:21
回复

使用道具 举报

13360#
发表于 2017-11-9 21:14:28 | 只看该作者
红毛樱木 发表于 2017-11-9 08:09
用mstr读取=左边和右边的数据,再envi赋值呢

谢谢大佬解答
回复

使用道具 举报

13361#
发表于 2017-11-9 21:15:02 | 只看该作者
527104427 发表于 2017-11-9 09:25
READ %CurDir%\配置.INI,**,&A
FORX *NL &A,&B, ENVI %&B%

谢谢5大解答,完美解决!!!
回复

使用道具 举报

13362#
发表于 2017-11-11 16:37:22 | 只看该作者
请问mstr截取指定字符串位置左侧字符串怎么写命令??
比如字符串abcdefg=12345,我要过滤掉=后面的字符串得到abcdefg(不确定位数),该怎么写??

点评

MSTR -delims:= &A=abcdefg=12345 mess. [%&A%]  详情 回复 发表于 2017-11-11 19:31
回复

使用道具 举报

13363#
发表于 2017-11-11 19:31:54 | 只看该作者
wjgyz740526 发表于 2017-11-11 16:37
请问mstr截取指定字符串位置左侧字符串怎么写命令??
比如字符串abcdefg=12345,我要过滤掉=后面的字符串 ...

MSTR -delims:= &A=<1>abcdefg=12345
mess. [%&A%]

点评

对合集的整体说明-F1按键呼出 [attachimg]356638[/attachimg]  详情 回复 发表于 2017-11-11 21:15
回复

使用道具 举报

13364#
 楼主| 发表于 2017-11-11 21:15:00 | 只看该作者
本帖最后由 mdyblog 于 2017-11-12 17:57 编辑
527104427 发表于 2017-11-11 19:31
MSTR -delims:= &A=abcdefg=12345

mess. [%&A%]


对合集的整体说明-F1按键呼出
setmenu --hotkey=0x3B00 splashimage --mess=$0x4F00:::509:415:0xFF0000::40:::0xF0::LT:/udm/helpwin.png:/udm/F1.TXT

0x3B00=F1
/udm/F1.TXT就是要显示的文本文件
/udm/helpwin.png是其背景图片

点评

m大,发现个问题: ENVI^ EnviMode=1 ENVI^ ForceLocal=1 ENVI &A=%%&CurDir%% ENVI* &A=%&A% mess. [%&A%] %&A%变成空值了。将&CurDir的&去掉就可以。  详情 回复 发表于 2017-11-23 20:15
回复

使用道具 举报

13365#
发表于 2017-11-13 01:12:08 来自手机 | 只看该作者
有个小bug
disk ,,,3,U会处理移动硬盘分区。还有我的w盘是imdisk虚拟盘,会把这个虚拟盘干掉,不太科学
回复

使用道具 举报

13366#
发表于 2017-11-13 13:21:40 | 只看该作者
本帖最后由 2012bear1alex1 于 2017-11-13 20:24 编辑

請問紅色這些地方,能夠使用文字+指定路徑的icon嗎?
icon部分該如何寫呢??


像這樣的效果

123456.png (64.83 KB, 下载次数: 439)

123456.png

00060.png (5.54 KB, 下载次数: 456)

00060.png

点评

IMAG Image1,L8T380W140H70,%CurDir%\logo.bmp,,,  详情 回复 发表于 2017-11-14 09:02
回复

使用道具 举报

13367#
 楼主| 发表于 2017-11-14 09:02:20 | 只看该作者
2012bear1alex1 发表于 2017-11-13 13:21
請問紅色這些地方,能夠使用文字+指定路徑的icon嗎?
icon部分該如何寫呢??

IMAG Image1,L8T380W140H70,%CurDir%\logo.bmp,,,  

点评

收到,測試後完美,感謝  发表于 2017-11-14 09:16
回复

使用道具 举报

13368#
发表于 2017-11-14 19:21:13 | 只看该作者
小弟又來打擾了,請問PECMD能否指令送一個F5(重新整理)的動作呢?

点评

SEND VK_F5  详情 回复 发表于 2017-11-26 07:32
回复

使用道具 举报

13369#
发表于 2017-11-15 07:52:21 | 只看该作者
有段时间没来了,进来看看新变化
回复

使用道具 举报

13370#
发表于 2017-11-17 15:49:08 | 只看该作者
本帖最后由 feiyike 于 2017-11-22 14:46 编辑

请教M大,右键多级菜单怎么实现的,现在只会一级
回复

使用道具 举报

13371#
发表于 2017-11-17 19:40:13 | 只看该作者
问个变量传递的问题
假如在set.ini文件里有如下内容:
ENVI WinTitleName=23456abc
然后
IFEX  .\SET.INI,  
{LOAD ".\SET.INI"
mess %&WinTitleName%
}!
{mess 11
mess 22
}  

这时候mess出的内容为嘛是空的?


另外,请问如果要写个读取配置文件特定节的程序,该怎么着手呢?

点评

用这个版本试试 ENVI^ ForceLocal=1 LOAD -this ".\SET.INI" mess %&WinTitleName% ------------------------ -this 是this方式, 就是在当前栈上LOAD, 这样 新建PE变量,在LOAD后不会释放。  详情 回复 发表于 2017-11-26 13:16
回复

使用道具 举报

13372#
发表于 2017-11-18 08:52:05 | 只看该作者
請問無法PINT,聽說新版已經改好可以PINT,我錯過了什麼嗎??如圖這樣錯了嗎?

PINTX.jpg (222.64 KB, 下载次数: 428)

PINTX.jpg
回复

使用道具 举报

13373#
发表于 2017-11-18 18:31:03 | 只看该作者
那个PINT在16299中又出现问题,装载外置后再执行
PINT %W%\EXPLORER.EXE,TaskBand
PINT %Programs%\设置临时文件.lnk,TaskBand
总有一个不成功,有时前者有时后者,感觉生成了又被它删除了。

点评

有16299的测试PE吗?  详情 回复 发表于 2017-11-26 07:40
倒是....taskband 可以沒問題,但startmenu就沒有作用...  详情 回复 发表于 2017-11-18 21:54
回复

使用道具 举报

13374#
发表于 2017-11-18 21:54:10 | 只看该作者
hhh333 发表于 2017-11-18 18:31
那个PINT在16299中又出现问题,装载外置后再执行
PINT %W%\EXPLORER.EXE,TaskBand
PINT %Programs%\设置 ...

倒是....taskband 可以沒問題,但startmenu就沒有作用...
回复

使用道具 举报

13375#
发表于 2017-11-19 21:58:04 | 只看该作者
请问M大,获取U盘列表的怎么只能获取一个。能获取全部吗?

ENVI^  EnviMode=1
ENVI^  ForceLocal=1

WinDiskList
_SUB WinDiskList,W600H200,磁盘列表
    GetAllDisk  &&磁盘LIST &&D1 7 //USB
    //GetAllDisk  &&磁盘LIST  &&D1 //ALL
    LIST   PHYDRV,L20T20W528H232,%&磁盘LIST%,,%&D1%
_END

//GetAllDisk 返回变量名 [第一个名] [过滤类型]
_SUB GetAllDisk //USB
    SET &filtp=%~3
    FDRV &Drvs=*:
    FORX * %&Drvs%,&D,
    {*
        PART list drv %&D%,&&V
        MSTR &&hd=<9>%&V%
        ^SET &Drv[%&hd%]=%%&Drv[%&hd%]%%%&D%
    }


    PART list disk,&&全部磁盘
    ENVI &&磁盘LIST=
    SET &D1=
    forx * %&全部磁盘%,&磁盘,
    {*
        PART -devidx list disk %&磁盘%,&&iDskInf
        MSTR &&hd,&&SZ,&&Bus,&&DskID=<1><2><9><~12>%&iDskInf%
        FIND $%&DskID%=,
        {*  TEAM PART -devid list disk %&磁盘%,&&iDskInf|MSTR &&DskID=<~12>%&iDskInf%
            SED &DskID=1,USBSTOR\\DISK\&VEN_,,%&DskID%
            SED &DskID=1,\&REV.*,,%&DskID%
            SED &DskID=1,\&,_,%&DskID%
        }
        FIND $%&DskID%=, SET DskID=-
        FIND $%filtp%<>,IFEX #%Bus%<>%filtp%, EXIT -  //只要USB
        IFEX #%Bus%=2, SET Bus=(ATAPI)
        IFEX #%Bus%=3, SET Bus=(ATA)
        IFEX #%Bus%=7, SET Bus=(USB)
        IFEX #%&SZ%>2G, @TEAM CALC &SZ=%&SZ%/1G#3| SET SZ=%&SZ%G! IFEX #%&SZ%>2M, @TEAM CALC &SZ=%&SZ%/1M#1| SET SZ=%&SZ%M
        ^SET &磁盘LIST=%&磁盘LIST%|%&磁盘% %&Bus% %&SZ% %&DskID% %%&Drv[%hd%]%%
        FIND $%&D1%=, ^SET &D1=%&磁盘% %&Bus% %&SZ% %&DskID% %%&Drv[%hd%]%%
    }
    ENVI-ret  %~1=%&磁盘LIST%
    ENVI-ret  %~2=%&D1%
_END

点评

你只有1个U盘吧。 所以列出1个。 不限定U盘试试、 _SUB WinDiskList,W600H200,磁盘列表 //GetAllDisk &&磁盘LIST &&D1 7 //USB GetAllDisk &&磁盘LIST &&D1 //ALL LIST PHYDRV,L20T20W528H2  详情 回复 发表于 2017-11-26 07:53
回复

使用道具 举报

13376#
发表于 2017-11-23 20:15:54 | 只看该作者
mdyblog 发表于 2017-11-11 21:15
对合集的整体说明-F1按键呼出
setmenu --hotkey=0x3B00 splashimage --mess=$0x4F00:::509:415:0xFF00 ...


m大,发现个问题:

ENVI^ EnviMode=1
ENVI^ ForceLocal=1
ENVI &A=%%&CurDir%%
ENVI* &A=%&A%
mess. [%&A%]

%&A%变成空值了。将&CurDir&去掉就正常。

111.png (93.73 KB, 下载次数: 314)

111.png

点评

ENVI* 是为了解决 环境变量的 BUG,而设计的。 PE变量,均采用确定定新设计----精准设计。不用ENVI*这种模糊设计。 PE变量,是什么样的,就用对应的方法。 ENVI^ EnviMode=1 ENVI^ ForceLocal=1 ENVI &A=%%&  详情 回复 发表于 2017-11-24 10:42
回复

使用道具 举报

13377#
发表于 2017-11-24 02:19:21 | 只看该作者
本帖最后由 红毛樱木 于 2017-11-24 02:21 编辑

http://soft.sysceo.com/USM/03PE_SHEL_TEST.ISO
2003PE用最新的PECMD2012不能SHEL命令加载出explorer
一直忘记上传了,不好意思.

点评

你这个ISO, 什么都不改,EXPLORER能出(桌面图标) 版本已经是很新了。 那个版本不行?  详情 回复 发表于 2017-11-25 10:48
回复

使用道具 举报

13378#
 楼主| 发表于 2017-11-24 10:42:16 | 只看该作者
本帖最后由 mdyblog 于 2017-11-24 10:46 编辑
527104427 发表于 2017-11-23 20:15
m大,发现个问题:

ENVI^ EnviMode=1


ENVI*
是为了解决 环境变量的 BUG,而设计的。
PE变量,均采用确定定新设计----精准设计。不用ENVI*这种模糊设计。
PE变量,是什么样的,就用对应的方法。

ENVI^ EnviMode=1
ENVI^ ForceLocal=1
ENVI &A=%%&CurDir%%
^ENVI &A=%&A%
mess. [%&A%] [%&CurDir%]
-----------------
//[C:\Windows\system32] [C:\Windows\system32]


ENVI^ EnviMode=1
ENVI^ ForceLocal=1
ENVI &A=%%%%&CurDir%%%%
^^ENVI &A=%&A%
mess. [%&A%] [%&CurDir%]
-----------------
//[C:\Windows\system32] [C:\Windows\system32]


^^^^^^ENVI &A=%&A%
也可。 这估计适合你



点评

应用场景是这样的 aa.cfg内容如下: [Ghost] Ghost64 = %USERPROFILE%\ghost.exe Ghost32 = %&CurDir%\ghost.exe lskfslk+-—×*÷〈〉<>《》~!。.,;()〔〕[]【】ABCDEFGHIJ  详情 回复 发表于 2017-11-24 12:46
回复

使用道具 举报

13379#
发表于 2017-11-24 12:19:46 | 只看该作者
PECMD代码里用TAB制表符的时候,需要替换成4个空格吗?哪种方案好?

点评

4空格吧  详情 回复 发表于 2017-11-26 07:41
回复

使用道具 举报

13380#
发表于 2017-11-24 12:46:59 | 只看该作者
本帖最后由 527104427 于 2017-11-24 12:48 编辑
mdyblog 发表于 2017-11-24 10:42
ENVI*
是为了解决 环境变量的 BUG,而设计的。
PE变量,均采用确定定新设计----精准设计。不用ENVI* ...


应用场景是这样的

aa.cfg内容如下:
[Ghost]
  Ghost64 = %USERPROFILE%\ghost.exe
  Ghost32 = %&CurDir%\ghost.exe
    lskfslk+-—×*÷〈〉<>《》~!。.,;()〔〕[]【】ABCDEFGHIJKLMNOPQRSTUVWXYZ+--**/<><><>~!..,;()()[][]{}{}|||%%%%=@@^/=|&@
================================================================================================


使用以下代码:
ENVI^ EnviMode=1
ENVI^ ForceLocal=1
READ aa.cfg,**,&A
^ENVI &A=%&A%   //%USERPROFILE%变成空值                //假如换成ENVI* &A=%&A%   ,那么%&CurDir%变成空值
mess. [%&A%]

点评

ENVI^ EnviMode=1 ENVI^ ForceLocal=0[/backcolor] READ aa.cfg,**,&A ^ENVI &A=%&A% mess. %&A%  详情 回复 发表于 2017-11-24 14:10
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-27 21:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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