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

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

   火... [复制链接]
发表于 2017-11-8 10:40:26 | 显示全部楼层
最近遇到的错误代码,汇总下,恳请达人赐教:

1、判断系统位数
REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE,&sysbit
mess %&sysbit%
ifex $%&sysbit%=x86,mess 32bit !mess 64bit

//x86系统下——user用户运行结果正确,admin用户运行结果正确
//x64系统下——user用户运行结果错误 admin用户运行结果错误

2、判断是否有管理员权限
MDIR %WinDir%\system32\TST\
IFEX %WinDir%\system32\TST\, MESS 有权限!! 无权限!
FILE %WinDir%\system32\TST\

//x86系统下——user用户运行结果无提示  admin用户运行结果正确
//x64系统下——user用户运行结果无提示 admin用户运行结果正确

3、判断是否有管理员权限(来自论坛用户527104427)
ENVI ?&aaa=ISADMIN
IFEX $%&aaa%=1, MESS 有权限! MESS 无权限

//x86系统下——user用户运行结果正确  admin用户运行结果错误
//user系统下——用户运行结果正确 admin用户运行结果错误

换x64的pecmd
三段代码运行结果如下:
//user用户运行结果错误 admin用户运行结果错误

//user用户运行结果无提示 admin用户运行结果正确

//user用户运行结果正确 admin用户运行结果正确

肯请指教,谢谢
回复

使用道具 举报

发表于 2017-11-8 23:06:28 | 显示全部楼层
请问M大,如何获取INI里的变量。比如我们INI里写 XXX=AAA,ENVI变量那样。不需要在ENVI XXX=AAA,在INI里直接写XXX=AAA 多行的。多种变量。

点评

用mstr读取=左边和右边的数据,再envi赋值呢  详情 回复 发表于 2017-11-9 08:09
回复

使用道具 举报

发表于 2017-11-9 08:09:19 来自手机 | 显示全部楼层
chxm1023 发表于 2017-11-8 23:06
请问M大,如何获取INI里的变量。比如我们INI里写 XXX=AAA,ENVI变量那样。不需要在ENVI XXX=AAA,在INI里直 ...

用mstr读取=左边和右边的数据,再envi赋值呢

点评

谢谢大佬解答  详情 回复 发表于 2017-11-9 21:14
回复

使用道具 举报

发表于 2017-11-9 10:37:27 | 显示全部楼层
527104427 发表于 2017-11-9 09:35
判断系统位数:

方法一:

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

使用道具 举报

发表于 2017-11-9 14:17:42 | 显示全部楼层
527104427 发表于 2017-11-9 11:27
找M大远程,找M大远程,找M大远程。。。
重要的事情说三遍

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

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 2017-11-9 19:57:56 | 显示全部楼层

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

使用道具 举报

发表于 2017-11-9 21:14:28 | 显示全部楼层
红毛樱木 发表于 2017-11-9 08:09
用mstr读取=左边和右边的数据,再envi赋值呢

谢谢大佬解答
回复

使用道具 举报

发表于 2017-11-9 21:15:02 | 显示全部楼层
527104427 发表于 2017-11-9 09:25
READ %CurDir%\配置.INI,**,&A
FORX *NL &A,&B, ENVI %&B%

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

使用道具 举报

发表于 2017-11-11 16:37:22 | 显示全部楼层
请问mstr截取指定字符串位置左侧字符串怎么写命令??
比如字符串abcdefg=12345,我要过滤掉=后面的字符串得到abcdefg(不确定位数),该怎么写??
回复

使用道具 举报

 楼主| 发表于 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是其背景图片

GIF2.gif
回复

使用道具 举报

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

使用道具 举报

发表于 2017-11-13 13:21:40 | 显示全部楼层
本帖最后由 2012bear1alex1 于 2017-11-13 20:24 编辑

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


像這樣的效果
123456.png
00060.png

点评

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

使用道具 举报

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

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

使用道具 举报

发表于 2017-11-14 19:21:13 | 显示全部楼层
小弟又來打擾了,請問PECMD能否指令送一個F5(重新整理)的動作呢?

点评

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

使用道具 举报

发表于 2017-11-15 07:52:21 | 显示全部楼层
有段时间没来了,进来看看新变化
回复

使用道具 举报

发表于 2017-11-17 15:49:08 | 显示全部楼层
本帖最后由 feiyike 于 2017-11-22 14:46 编辑

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

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 2017-11-18 08:52:05 | 显示全部楼层
請問無法PINT,聽說新版已經改好可以PINT,我錯過了什麼嗎??如圖這樣錯了嗎?
PINTX.jpg
回复

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 2017-11-18 21:54:10 | 显示全部楼层
hhh333 发表于 2017-11-18 18:31
那个PINT在16299中又出现问题,装载外置后再执行
PINT %W%\EXPLORER.EXE,TaskBand
PINT %Programs%\设置 ...

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

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 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
回复

使用道具 举报

 楼主| 发表于 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%
也可。 这估计适合你



回复

使用道具 举报

发表于 2017-11-24 12:19:46 | 显示全部楼层
PECMD代码里用TAB制表符的时候,需要替换成4个空格吗?哪种方案好?

点评

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

使用道具 举报

 楼主| 发表于 2017-11-24 14:10:58 | 显示全部楼层
527104427 发表于 2017-11-24 12:46
应用场景是这样的

aa.cfg内容如下:

ENVI^ EnviMode=1
ENVI^ ForceLocal=0
READ aa.cfg,**,&A
^ENVI &A=%&A%
mess. %&A%

点评

请问一下关于延迟的问题 命令语句1 命令语句2 命令语句3 延迟 命令语句4 命令语句5 命令语句5 如上述脚本, 我想再执行命令语言1,2,3完成后, 添加延迟, 等待延迟结束后才执行后面的语句, 但是我使用了"WAIT"  详情 回复 发表于 2017-11-24 15:57
回复

使用道具 举报

发表于 2017-11-24 15:57:17 | 显示全部楼层
mdyblog 发表于 2017-11-24 14:10
ENVI^ EnviMode=1
ENVI^ ForceLocal=0
READ aa.cfg,**,&A

请问一下关于延迟的问题
命令语句1
命令语句2
命令语句3
延迟
命令语句4
命令语句5
命令语句5
如上述脚本, 我想再执行命令语言1,2,3完成后, 添加延迟, 等待延迟结束后才执行后面的语句, 但是我使用了"WAIT"命令, 无论延迟数值为多大, 延迟命令后面的命令语句都是执行脚本后就立即执行, 并没有延迟效果

点评

测试脚本贴出来看看  详情 回复 发表于 2017-11-24 19:07
回复

使用道具 举报

发表于 2017-11-24 16:30:23 | 显示全部楼层
Bluebells 发表于 2017-11-24 15:57
请问一下关于延迟的问题
命令语句1
命令语句2
  1. MESS- A
  2. WAIT 5000
  3. MESS B
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-10 05:59

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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