无忧启动论坛

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

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

    [复制链接]
12541#
发表于 2016-7-17 12:25:22 | 只看该作者
本帖最后由 ling3882688 于 2016-7-17 14:40 编辑
mdyblog 发表于 2016-7-12 07:26
回过了.

LSTR &&c0=1,%pt%

M大,上次改完还是有点问题,如果磁盘0没有任何windows分区,按说返回值应该是0.如果我把这个脚本放到PE的system32目录或者桌面反正只要是在PE的系统盘任何路径下运行,返回值就是1.放到U盘里返回值才是正确的0.不知是咋回事。是不是把PE也当作windows判断进去了?

问题出在当%VOL%为空的时候是默认当前磁盘。该如何修改呢?
我加了一句:            IFEX |%Vol%=, EXIT -
M大看看有问题不?

  1. _SUB GetWPart
  2.         ENVI^ FORCELOCAL=1
  3.         SET &hd=%~1
  4.         CALC #hd=%hd%
  5.         PART list part %hd%,&&pts
  6.         SET WinD=0
  7.         FORX * %pts%,&&pt,
  8.         {
  9. //LSTR &&c0=1,%pt%
  10. //FIND $%c0%=@, EXIT -  //扩展
  11.             IFEX #%pt%<=0, EXIT -
  12.             TEAM  PART -phy# list part %hd%:%pt%,&&v1| MSTR &&ltp,&&ppt,&&Vol=<3><8><9>%v1%
  13.             IFEX |%Vol%=, EXIT -
  14.             IFEX %Vol%\Windows\System32\kernel32.dll,CALC WinD=%&ppt%
  15.         }  
  16.         ENVI-ret %~2=%WinD%
  17. _END

  18. GetWPart 0 &&WPart
  19. MESS %WPart%
复制代码

点评

在PE的系统盘任何路径下运行,返回值就是1 ----------------------- LOGS * X.LOG _SUB GetWPart ENVI^ FORCELOCAL=1 SET &hd=%~1 CALC #hd=%hd% PART list part %hd%,&&p  详情 回复 发表于 2016-7-17 18:26
回复

使用道具 举报

12542#
 楼主| 发表于 2016-7-17 18:26:28 | 只看该作者
ling3882688 发表于 2016-7-17 12:25
M大,上次改完还是有点问题,如果磁盘0没有任何windows分区,按说返回值应该是0.如果我把这个脚本放到PE ...

在PE的系统盘任何路径下运行,返回值就是1
-----------------------

LOGS * X.LOG
_SUB GetWPart
        ENVI^ FORCELOCAL=1
        SET &hd=%~1
        CALC #hd=%hd%
        PART list part %hd%,&&pts
        SET WinD=0
        FORX * %pts%,&&pt,
        {
            IFEX #%pt%<=0, EXIT -
            TEAM  PART -phy# list part %hd%:%pt%,&&v1| MSTR &&ltp,&&ppt,&&Vol=<3><8><9>%v1%
//            IFEX |%Vol%=, EXIT -
            IFEX %Vol%\Windows\System32\kernel32.dll,CALC WinD=%&ppt%
        }  
        ENVI-ret %~2=%WinD%
_END

GetWPart 0 &&WPart
MESS %WPart%

~~~~
在PE的系统盘X:\下运行,再把看看X.LOG,就知道原因了。还不清楚就传上来,我看看。
回复

使用道具 举报

12543#
发表于 2016-7-17 19:22:47 | 只看该作者
本帖最后由 ling3882688 于 2016-7-17 19:24 编辑
mdyblog 发表于 2016-7-17 18:26
在PE的系统盘任何路径下运行,返回值就是1
-----------------------




13        {IFEX \Windows\System32\kernel32.dll,CALC WinD=1}
13        [CALC WinD=1]        <0>        :操作成功完成。
就是这里的问题,空的时候默认当前磁盘,而当前磁盘正好是X盘。

log.zip (918 Bytes, 下载次数: 3)

点评

IFEX %Vol%\Windows\System32\kernel32.dll,CALC WinD=%&ppt% --------------------------- 还有这句啊。 那是要 排除 %Vol% 为空: IFEX |%Vol%=, EXIT -  详情 回复 发表于 2016-7-17 20:18
回复

使用道具 举报

12544#
 楼主| 发表于 2016-7-17 20:18:16 | 只看该作者
ling3882688 发表于 2016-7-17 19:22
13        {IFEX \Windows\System32\kernel32.dll,CALC WinD=1}
13        [CALC WinD=1]                :操作成功完成。
就 ...

IFEX %Vol%\Windows\System32\kernel32.dll,CALC WinD=%&ppt%
---------------------------
还有这句啊。
那是要 排除 %Vol% 为空:
IFEX |%Vol%=, EXIT -

点评

嗯,就是这么改的。谢谢M大。 对于空值 0值 字符串 数字的比较有时候还是犯迷糊。 这四个值比较的话大小是怎么分的?如果变量是空,如果用数字比较的话就是等于0吧?  详情 回复 发表于 2016-7-18 00:32
回复

使用道具 举报

12545#
发表于 2016-7-17 21:43:52 | 只看该作者
M大请问如何用PECMD做个计算。如。400+400=800然后800弄成一个变量

点评

已解决。  详情 回复 发表于 2016-7-17 22:27
回复

使用道具 举报

12546#
发表于 2016-7-17 22:27:09 | 只看该作者
chxm1023 发表于 2016-7-17 21:43
M大请问如何用PECMD做个计算。如。400+400=800然后800弄成一个变量

已解决。
回复

使用道具 举报

12547#
发表于 2016-7-18 00:32:11 | 只看该作者
mdyblog 发表于 2016-7-17 20:18
IFEX %Vol%\Windows\System32\kernel32.dll,CALC WinD=%&ppt%
---------------------------
还有这句 ...

嗯,就是这么改的。谢谢M大。
对于空值 0值 字符串 数字的比较有时候还是犯迷糊。
这四个值比较的话大小是怎么分的?如果变量是空,如果用数字比较的话就是等于0吧?

点评

数值比较时,无效的 数值均当作 0  详情 回复 发表于 2016-7-18 11:26
回复

使用道具 举报

12548#
 楼主| 发表于 2016-7-18 11:26:17 | 只看该作者
ling3882688 发表于 2016-7-18 00:32
嗯,就是这么改的。谢谢M大。
对于空值 0值 字符串 数字的比较有时候还是犯迷糊。
这四个值比较的话大 ...

数值比较时,无效的 数值均当作 0

点评

一般的程序都是I这么处理的吧?还是PECMD这么处理。  详情 回复 发表于 2016-7-18 15:07
回复

使用道具 举报

12549#
发表于 2016-7-18 15:07:55 | 只看该作者
mdyblog 发表于 2016-7-18 11:26
数值比较时,无效的 数值均当作 0

一般的程序都是I这么处理的吧?还是PECMD这么处理。
回复

使用道具 举报

12550#
发表于 2016-7-18 15:48:03 | 只看该作者
M大。请问如何判断出U盘数据分区的格式。比如exfat格式的分区就提示。

点评

FDRV *vol ,FS=F: MESS. %FS% //ExFAT NTFS FAT32 ...  详情 回复 发表于 2016-7-19 10:47
回复

使用道具 举报

12551#
 楼主| 发表于 2016-7-19 10:47:58 | 只看该作者
chxm1023 发表于 2016-7-18 15:48
M大。请问如何判断出U盘数据分区的格式。比如exfat格式的分区就提示。

FDRV  *vol  ,FS=F:
MESS. %FS%  //ExFAT  NTFS  FAT32  ...

点评

M大如何排除EXFAT格式。就是说如果U盘是EXFAT格式就跳出窗口提示。NTFS或者fat32则不提示。  详情 回复 发表于 2016-7-19 14:57
回复

使用道具 举报

12552#
发表于 2016-7-19 14:57:52 | 只看该作者
mdyblog 发表于 2016-7-19 10:47
FDRV  *vol  ,FS=F:
MESS. %FS%  //ExFAT  NTFS  FAT32  ...

M大如何排除EXFAT格式。就是说如果U盘是EXFAT格式就跳出窗口提示。NTFS或者fat32则不提示。

点评

FDRV *vol ,FS=F: FIND $%FS%=ExFAT, MESS IS ExFAT  详情 回复 发表于 2016-7-23 09:21
回复

使用道具 举报

12553#
发表于 2016-7-20 16:39:57 | 只看该作者
本帖最后由 ling3882688 于 2016-7-21 11:45 编辑

M大,4K磁盘现在PECMD操作支持还是有问题吧,主要是PART命令相关的一些操作。
part里的命令,比如重建分区啥的,没有任何反应。还有检测分区的一些命令也获取不到任何数值。

点评

你是说 “4K字节扇区“ 的 磁盘吧。 目前不支持。 很久以前有人(可能就是你吧)提过,没有环境,一直没做。 前不久(大概2个月前),想起可以远程调试。 但是找不到原来是谁提出来的。 就在网上留帖子,问谁  详情 回复 发表于 2016-7-23 09:26
回复

使用道具 举报

12554#
 楼主| 发表于 2016-7-23 09:21:22 | 只看该作者
chxm1023 发表于 2016-7-19 14:57
M大如何排除EXFAT格式。就是说如果U盘是EXFAT格式就跳出窗口提示。NTFS或者fat32则不提示。

FDRV  *vol  ,FS=F:
FIND $%FS%=ExFAT,  MESS  IS ExFAT

点评

谢谢老大解答,我试过这样写,不过我是用iefx判断的,总是不行,原来要用find啊。呵呵。  详情 回复 发表于 2016-7-23 12:05
谢谢老大解答,我试过这样写,不过我是用iefx判断的,总是不行,原来要用find啊。呵呵。  详情 回复 发表于 2016-7-23 12:05
回复

使用道具 举报

12555#
 楼主| 发表于 2016-7-23 09:26:54 | 只看该作者
ling3882688 发表于 2016-7-20 16:39
M大,4K磁盘现在PECMD操作支持还是有问题吧,主要是PART命令相关的一些操作。
part里的命令,比如重建分区 ...

你是说 “4K字节扇区“ 的 磁盘吧。
目前不支持。
很久以前有人(可能就是你吧)提过,没有环境,一直没做。

前不久(大概2个月前),想起可以远程调试。
但是找不到原来是谁提出来的。
就在网上留帖子,问谁有  “ ‘4K字节扇区’ 的 磁盘,可以远程调试”。可惜一直么找到。

现在工作很忙,没时间整。

点评

不好意思,没看到您那个帖子,您什么时候可以有时间呢?  详情 回复 发表于 2016-7-28 15:02
回复

使用道具 举报

12556#
发表于 2016-7-23 12:05:22 | 只看该作者
mdyblog 发表于 2016-7-23 09:21
FDRV  *vol  ,FS=F:
FIND $%FS%=ExFAT,  MESS  IS ExFAT

谢谢老大解答,我试过这样写,不过我是用iefx判断的,总是不行,原来要用find啊。呵呵。
回复

使用道具 举报

12557#
发表于 2016-7-23 12:05:28 | 只看该作者
mdyblog 发表于 2016-7-23 09:21
FDRV  *vol  ,FS=F:
FIND $%FS%=ExFAT,  MESS  IS ExFAT

谢谢老大解答,我试过这样写,不过我是用iefx判断的,总是不行,原来要用find啊。呵呵。
回复

使用道具 举报

12558#
发表于 2016-7-23 13:53:16 | 只看该作者
请问老大如何获取这些序号。

点评

PART LIST DISK 0,Parts MESS. %Parts%  详情 回复 发表于 2016-7-23 19:50
回复

使用道具 举报

12559#
 楼主| 发表于 2016-7-23 19:50:42 | 只看该作者
chxm1023 发表于 2016-7-23 13:53
请问老大如何获取这些序号。

PART  LIST DISK  0,Parts
MESS. %Parts%

点评

老大,我是只想要序号。U盘的那个序号。因为用bootice会用到。切换隐藏分区。软碟通写入的高端隐藏efi区是3,如果手工分区是1,所以我想自动获取最后分区的序号。  详情 回复 发表于 2016-7-23 20:28
回复

使用道具 举报

12560#
发表于 2016-7-23 20:28:34 | 只看该作者
本帖最后由 chxm1023 于 2016-7-23 20:33 编辑
mdyblog 发表于 2016-7-23 19:50
PART  LIST DISK  0,Parts
MESS. %Parts%

老大,我是只想要序号。U盘的那个序号。因为用bootice会用到。切换隐藏分区。软碟通写入的高端隐藏efi区是3,如果三分区制作是1,所以我想自动获取最后分区的序号。
回复

使用道具 举报

12561#
发表于 2016-7-25 00:38:14 | 只看该作者
本帖最后由 红毛樱木 于 2016-7-25 22:47 编辑

kill *explorer
好像一直都无效,会重启explorer.exe,忘记说了。
老大有空看下。


回复

使用道具 举报

12562#
发表于 2016-7-25 15:51:44 | 只看该作者
老大,能否判断移动硬盘,如果是移动硬盘就提示。还有一个获取分区序号的问题,就是想要获取最后一个分区的序号。
回复

使用道具 举报

12563#
发表于 2016-7-26 15:16:10 | 只看该作者
i am here         qd.

2024335208-20.jpg (12.04 KB, 下载次数: 150)

2024335208-20.jpg
回复

使用道具 举报

12564#
发表于 2016-7-28 15:02:33 | 只看该作者
本帖最后由 ling3882688 于 2016-7-28 15:04 编辑
mdyblog 发表于 2016-7-23 09:26
你是说 “4K字节扇区“ 的 磁盘吧。
目前不支持。
很久以前有人(可能就是你吧)提过,没有环境,一直 ...


不好意思,原来应该是我提出来的,没看到您那个帖子,您什么时候可以有时间呢?
回复

使用道具 举报

12565#
发表于 2016-8-2 03:25:16 | 只看该作者
kill *explorer explorer.exe
达不到预期效果,是我格式问题吗?
还有一个问题。
SERV -wait达不到exec =net start的效果
回复

使用道具 举报

12566#
发表于 2016-8-5 11:45:33 | 只看该作者
本帖最后由 23456 于 2016-8-5 12:05 编辑

请教下 MOUN怎么使用   MOUN  -udm  -mall  -mhide1  -u+  -udfs  -udm-  -udimg:  TOOLS/1.iso \\.\PhysicalDrive%&hd% R-           无效   1.iso放在E盘 E:\TOOLS\1.iso       解决了   。。。。。发现自己蠢 @.@  
回复

使用道具 举报

12567#
发表于 2016-8-11 09:48:32 | 只看该作者
本帖最后由 ling3882688 于 2016-8-11 10:11 编辑

M大,4K磁盘的问题,最近又遇到了,这次有些进展。如果不加管理员权限(无论PE还是windows里)无法获取分区信息,也就是part -gui里是空白的。加了管理员权限之后就可以正常显示了。
分区信息如下:
导出的分区信息.zip (1.37 KB, 下载次数: 0)
磁盘:0
  磁盘信息 磁盘号   大小(字节)         柱面数 磁头数 扇数 扇区 媒体     签名 总线
              0   251000193024           3814    255   63 4096   12 596C11C5-DC31-46B6-9C9F-181A816AAB15  1 GPT F
  字符说明 激活 __本分区起始__ 分区 __本分区结束__ _______本分区______ ______本分区_______
  激活为0x80    磁头_扇区_柱面 类型 磁头_扇区_柱面 _____起始扇区号____ _____扇区总数______
  主分区1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  主分区2: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  主分区3: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  主分区4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  标志   : 0x00 0x00
  全部分区: 1   2   3   4   5   6   7   8
  分区  类型 激活(1) 起始(字节)     长度(字节)    隐藏扇区     结尾(字节) 物理# 盘符
     1  C12A7328-F81F-11D2-BA4B-00A0C93EC93B GPT          24576      314572800 0000000000000000 0C38245D-773B-45A6-AB46-CE117FECBD17   1  Z: FAT32 EFI
     2  53746F72-6167-11AA-AA11-00306543ECAC GPT      314597376    40357683200 0000000000000000 9D3945A2-7F7A-4AB0-8AAC-7D308046C088   2  G:   
     3  426F6F74-0000-11AA-AA11-00306543ECAC GPT    40672280576      650002432 0000000000000000 416337CD-CA35-4A2D-A264-14683405A035   3  H:   
     4  E3C9E316-0B5C-4DB8-817D-F92DF00215AE GPT    41322283008      134217728 8000000000000000 7D1C012E-9707-40EC-A390-2B166DD6A47A   4  I:   
     5  EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 GPT    41456500736    53695479808 0000000000000000 41948778-44D6-49BB-9B60-7AD0F424F0DE   5  C: NTFS  
     6  EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 GPT    95151980544    77317799936 0000000000000000 3329DB72-8C0E-400D-A679-E28BE9FAB89A   6  D: NTFS  
     7  EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 GPT   172469780480    78030831616 0000000000000000 C6BDDE99-B7E2-4D81-A19D-D7269748A796   7  E: NTFS  
     8  DE94BBA4-06D1-4D40-A16A-BFD50179D6AC GPT   250505854976      493879296 8000000000000001 2A70EA9C-C1CE-44D8-991D-4748B2BEB93E   8  J: NTFS  
回复

使用道具 举报

12568#
发表于 2016-8-23 11:34:56 | 只看该作者
本帖最后由 红毛樱木 于 2016-8-24 09:37 编辑

此楼问题已解决
回复

使用道具 举报

12569#
发表于 2016-9-7 01:08:37 | 只看该作者
本帖最后由 红毛樱木 于 2016-9-7 02:17 编辑
  1. DEVI *sub  D:\ABC,Net                     //D:\ABC下寻找并安装网络驱动。
复制代码



上面的DEVI命令无效。
举例,
我把驱动解压出来放在"C:\DRV"下
DEVI C:\DRV
这种格式是否有效?

我尝试如下:

-----------------------------------------------------
  1. DEVI *self*sub C:\DRV
复制代码

无效
-----------------------------------------------------








分隔符







-----------------------------------------------------
  1. DEVI C:\DRV\*.inf
复制代码

有效
-----------------------------------------------------




但是如果把驱动放到C:\DRV目录的子目录里,上面命令都无效

打包CAB虽然可以,但是如果CAB过大,解压耗时就不太划算了。
打算做成WIM格式,挂载出来,再用DEVI命令安装 。
M大最近貌似太忙,无暇光顾论坛了。

点评

确实,测试结果也是如此,用forx来查找再安装,主要是是否安装成功没有返回参数,觉得m大可以给这个命令设定一个返回值,不知可行不?  详情 回复 发表于 2016-10-25 20:26
回复

使用道具 举报

12570#
发表于 2016-9-15 12:16:28 | 只看该作者
中秋快乐亲门。。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-27 12:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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