无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
楼主: mdyblog

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

    [复制链接]
 楼主| 发表于 2012-2-15 18:07:30 | 显示全部楼层

回复 #264 dvd008 的帖子

见 273楼 ..................
回复

使用道具 举报

 楼主| 发表于 2012-2-15 18:09:11 | 显示全部楼层
原帖由 dvd008 于 2012-2-15 16:54 发表
不带ALIGN, 类型为B
没有成功


用U24

看是否成功,用下载包中的getmbr.wcs
回复

使用道具 举报

发表于 2012-2-15 18:38:25 | 显示全部楼层
设置ALIGN=2M 起始111M 大小32M

半成功
结果:
起始112M,大小0

看来还有点小问题.

其它测试现在是成功了.

显示磁盘信息有点麻烦,不过,我把这些命令行都写出,
用时,先修改,再复制粘贴,也挺方便.
回复

使用道具 举报

 楼主| 发表于 2012-2-15 18:42:11 | 显示全部楼层
原帖由 lmle 于 2012-2-15 15:38 发表

用“MESS %A%=%B%i%%”显示“中文=中文”,FIND为什么判断不了呢?


1.变量处理有标准模式和兼容模式. 兼容模式旧PECMD  (3.9).
兼容模式 是不稳定的. 不能保证程序正常工作.


2.
//假设之前的程序或脚本使用了变量B,设置了变量B,看看 PECMD 3.9 能如你所愿工作吗?(不能)
envi B=1
envi i=3
envi A=中文
envi B3=中文
FIND $%A%=%B%i%%, mess 找到“%A%”  @OK #OK
MESS END @OK#OK

3.兼容模式中, 条件处理和文字处理不同. 是由于对未定义变量处理不同造成的.
  文字处理中  未定义变量 保持原样. 如 %C% 还是 %C%
  条件处理中  未定义变量 当作空. 如 %C% 为空
   MESS  %C% @OK#OK 显示 %C%
    FIND $%C%=, ...  
       这里%C% 为空, 因而条件为真.

4. 兼容模式条件处理是3.9作者自定义的,我们只能猜测. 简单的还能猜. 复杂的就碰到再说.
  关键是兼容模式不稳定.不能保证程序正常工作. 费大劲结果还是个未知.

5. 标准模式处理.
 用ENVI~  一步一步,脱去嵌套变量的外衣.最终不需要嵌套变量形式.这样才能控制程序正常工作.
  ENVI~    NewName=old_expr   //脱一件
  ENVI~~  NewName=old_expr //一下脱2件
见ENVI/SET 帮组.

上面程序为

envi B=1   //不影响
envi i=3
envi A=中文
envi B3=中文
envi~   Bi=B%i%
FIND $%A%=%Bi%, mess 找到“%A%”  @OK #OK
MESS END @OK#OK

Snap7.gif

   
6. 我尽量使兼容模式能处理你给的样例情况.


  

[ 本帖最后由 2012abc19701 于 2012-2-15 18:51 编辑 ]
回复

使用道具 举报

发表于 2012-2-15 18:44:29 | 显示全部楼层
不带ALIGN,也半成功
未命名.JPG
回复

使用道具 举报

 楼主| 发表于 2012-2-15 18:48:53 | 显示全部楼层
原帖由 dvd008 于 2012-2-15 18:44 发表
不带ALIGN,也半成功


你什么命令? 用U24 吗? 长度0B?

如果 start len 本身是对齐的, 有没有 -align 一样.

[ 本帖最后由 2012abc19701 于 2012-2-15 18:52 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2012-2-15 20:47:02 | 显示全部楼层

[更新到159#280]PECMD-32.2012.1除夕版.多窗口多线-U24+裸机系统+18M酷MiniPE

[更新159#280]PECMD-32.2012.1除夕版.多窗口多线-U24+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U24(已升级) +裸机系统 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/

变量兼容模式
回复

使用道具 举报

 楼主| 发表于 2012-2-15 20:51:15 | 显示全部楼层
原帖由 lmle 于 2012-2-15 15:38 发表

用“MESS %A%=%B%i%%”显示“中文=中文”,FIND为什么判断不了呢?


U25  能兼容这种情况.

envi i=3
envi A=中文
envi B3=中文
FIND $%A%=%B%i%%, mess 找到“%A%”  @OK #OK
Snap1.gif
回复

使用道具 举报

 楼主| 发表于 2012-2-15 21:05:30 | 显示全部楼层
原帖由 dvd008 于 2012-2-15 15:26 发表
len 没有MK等,默认是整个分区吗?

如图操作,结果那样



pecmd  part -super  -align=2m 0#4 a 07  131m 35

这里长度为35字节. 按照扇区对齐,往小里调整,变为0.
Snap2.gif


Snap3.gif

[ 本帖最后由 2012abc19701 于 2012-2-15 21:08 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2012-2-15 21:54:27 | 显示全部楼层

[更新159#280]PECMD-32.2012.1除夕版.多窗口多线-U26+裸机系统+18M酷MiniPE

[更新159#280]PECMD-32.2012.1除夕版.多窗口多线-U26+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U26(已升级) +裸机系统 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/
FIX:   -align  start/len 长度后缀
回复

使用道具 举报

 楼主| 发表于 2012-2-15 22:02:30 | 显示全部楼层
原帖由 2012abc19701 于 2012-2-15 21:05 发表



pecmd  part -super  -align=2m 0#4 a 07  131m 35

这里长度为35字节. 按照扇区对齐,往小里调整,变为0.
137145


137146



用U26  创建:
   pecmd  part -super  -align=2m 0#4 a 07  131m 35m


Snap4.gif

start=131m 但2m对齐, 所以往大的移start=32m, 移1m. 这样len少1m 变为34m.
                 34m 恰好使得尾部2m对齐
实际:  pecmd  part -super  -align=2m 0#4 a 07  132m 34m

132m 对应 270336 个扇区. 如图.
34m 对应 69632 个扇区
这样 结尾end=270336 +69632-1=339967,  如图.
回复

使用道具 举报

发表于 2012-2-16 07:55:19 | 显示全部楼层
26版,基本通过.待更详细测试.
258楼的磁盘显示信息,那几个图片,里面具体数的说明,能不能给出? 或加入PECMD说明,或另付说明.

分区显示信息可能需要完善, 如图, 貌似没有分区大小.  偏移(你这里是字节,正确的),

DIKSGEN使用的是扇区数, DISKPART自动调整K或者M, 小于1M它使用K,大于使用M.这个到没什么,不过是习惯.
是不是应该也显示分区大小?
1.JPG
2.JPG
3.JPG
回复

使用道具 举报

发表于 2012-2-16 08:13:30 | 显示全部楼层
根据你提供的说明,我整理出这些,方便直接复制粘贴使用,
只有显示信息(你258楼图片)部分没有写,等你进一步说明.


显示几个硬盘
PECMD "TEAM PART list disk,name|  MESS  disk[%name%]"

显示第一物理磁盘0 的信息, 第二物理磁盘号为1 .....
PECMD "TEAM PART list disk 0,name|  MESS  disk0[%name%]"

显示磁盘0的分区信息
PECMD "TEAM PART list part 0,name|  MESS  disk0,part[%name%]"

显示磁盘0,1分区的信息
PECMD "TEAM PART list part 0#1,name|  MESS  part0--1[%name%]"

修改命令行磁盘号,分区号,即可显示需要的信息.


删除分区可以 简化为
PART DEL [磁盘]#分区
删除0号(第一物理硬盘),1分区
PECMD PART DEL 0#1
PECMD PART -super DEL 0#1

原命令还有效(删除分区)
  PART [磁盘]#分区 -a 0 0 0

删除0号(第一物理硬盘),1分区
PECMD PART 0#1 -a 0 0 0

PECMD PART -super 0#1 -a 0 0 0

磁盘级 查看分区的脚本 getmbr.wcs
//用法  load getmbr.wcs [磁盘号]
// 磁盘号: 0-N 默认0
pecmd load getmbr.wcs
pecmd load getmbr.wcs 0
pecmd load getmbr.wcs 1

创建分区:
创建0号磁盘,1分区,起始2M对齐,激活,07类型,起始偏移(位置)131M,大小35M.
因为使用了-align=2m参数,分区起始将调整为132M,大小34M,全部对齐.
pecmd  part -super  -align=2m 0#1 a 07  131m 35m

pecmd  part -super  -align=128k 0#1 a 0x07  131m 35m
回复

使用道具 举报

发表于 2012-2-16 08:35:13 | 显示全部楼层
期待楼主完善。。加油
回复

使用道具 举报

 楼主| 发表于 2012-2-16 09:36:53 | 显示全部楼层

[更新161#288]PECMD-32.2012.1除夕版.多窗口多线-U27+裸机系统+18M酷MiniPE

[更新161#288]PECMD-32.2012.1除夕版.多窗口多线-U27+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U27(已升级) +裸机系统 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/
U27 -img=文件名 操作磁盘镜象   -CHS=C:H:S

│PART [-admin] [-super] [-align[=..]] [-alignend[=..]]  [-clear] [del] [list [disk|part]  
│     [-raw]  [-CHS=C:H:S]  [-img=文件名|磁盘]#分区  [a|-a] type  [start  [len]]         
│PART list disk                        [磁盘],变量名                                      
│PART list part                        [磁盘[#分区]],变量名                              
│PART /mbr[=nt5|=nt6|=dos|=文件名]   [-img=文件名|磁盘]
回复

使用道具 举报

发表于 2012-2-16 09:43:02 | 显示全部楼层
MBR写入功能,测试目前通过.
能不能加PBR写入功能,即MS的BOOTSECT.EXE 提供的功能,是WIN7的,但是,可呀用于NT5.我那个03PE内置了.

仅需要:bootsect  /nt60 c:    NT60的写到C盘
bootsect /nt52 X:    NT5的写到X盘

这样,+已经有的MBR写入, 可以方便手工安装PE或者GHOST系统.

下面是其完整说明,但是,只要上面两个代码即可.


bootsect.exe :命令行输入
可以写mbr,bootsect c: /mbr   主引导纪录(mbr)一般都在c盘
用MBR选项同时恢复主引导记录,bootsect /nt52 C: /mbr
bootsect  /nt60 c: /mbr /force
bootsect /nt52 X:(X为WIN下要写入引导的盘符),引导文为xp/2k3的NTLDR
bootsect /nt60 X:引导文件vista,win2008,win7的bootmgr 。
bootsect.exe {/help | /nt52 | /nt60} {SYS | ALL | <DriveLetter:>}[/force] /mbr
如,将NTLDR 主启动代码应用到标记为 E 的卷:
bootsect.exe /nt52 E:  把E盘的引导标志改为ntldr
命令参数  描述  
/help  显示用法说明。
/nt52  将NTLDR 主启动代码应用到 SYS、ALL 或 <DriveLetter>。
/nt60  将BOOTMGR 主启动代码应用到 SYS、ALL 或 <DriveLetter>。
SYS  更新用于启动 Windows 的系统分区上的主启动代码。并不改mbr,是改盘符引导标记
ALL  更新所有分区的主启动代码(引导标记)。不更新每个卷启动代码,更新可启动卷的启动代码。
<DriveLetter> 更新与此驱动器号关联的卷上的主启动代码。
/force  在启动代码更新期间强制卸除卷,用于情况不明的失败。谨慎使用该选项。
/mbr
更新主启动记录,而不对包含 SYS、ALL 或 <drive letter> 指定的分区的磁盘扇区 0 上的分区表进行更改。当与 /nt52 选项一起使用时,主启动记录将与 Windows Vista 以前版本的操作系统兼容。当与 /nt60 选项一起使用时,主启动记录将与 Windows? 7 或 Windows Server? 2008 兼容。
命令向磁盘中写入新的主引导记录:
回复

使用道具 举报

发表于 2012-2-16 09:49:56 | 显示全部楼层
分区,还有个问题,看看怎么解决好:

1. 只写入ALIGN 和大小,完成第一分区(即不用输入起始偏移)
2. 有了第一分区后, 第二分区如何紧接着分区,只输入大小(即2,3,4分区可以顺序分,给大小即可)
因为这个第二分区如果输入起始,需要麻烦的计算,才能紧接第一分区.
回复

使用道具 举报

 楼主| 发表于 2012-2-16 10:00:38 | 显示全部楼层
原帖由 dvd008 于 2012-2-16 07:55 发表
26版,基本通过.待更详细测试.
258楼的磁盘显示信息,那几个图片,里面具体数的说明,能不能给出? 或加入PECMD说明,或另付说明.

分区显示信息可能需要完善, 如图, 貌似没有分区大小.  偏移(你这里是字节,正确的 ...


PECMD说明中有

│PART list disk                        [磁盘],变量名           
│PART list part                        [磁盘[#分区]],变量名   
┼───────────────────────────────
│list disk 没有磁盘时列出磁盘列表,有则返回 磁盘号 大小 柱面数 磁头数 扇区S 扇区大小 媒体类型   ┃
│list part [磁盘] 默认hd0,没有分区时列出分区列表(-为空,@为扩展分区),有则返回 分区号 类型 引导┃
│               标志 起始偏移 大小 隐藏扇区数                                                
│变量名:返回查询结果。

U27:

pecmd " TEAM PART  list part 0,var|mess MESS  part 磁盘0分区:[%var%]"

Snap1.gif
说明: []中为磁盘0的所有分区. @3 表示 0#3 为扩展分区     -4表示 0#4 为空闲分区条目.
其它为分区逻辑号(window操作号).



pecmd " TEAM PART  list part 0#1,var|mess MESS  part 磁盘0分区1:[%var%]"
Snap2.gif
1: 分区逻辑号
22: =0x16 分区类型
0:  引导标志 不可引导
312560640: 分区起始位置,单位字节,相对磁盘开头的偏移, 对应分区命令PART中的start
740275200: 分区大小,单位字节, 对应分区命令PART中的len
610470: 隐藏扇区数。 表示分区之间的间隙,即分区之前没有分到分区中的空间。这里为最前面分区,
         所以就是分区起始位置。312560640/512=610470.
回复

使用道具 举报

 楼主| 发表于 2012-2-16 10:02:06 | 显示全部楼层
原帖由 dvd008 于 2012-2-16 08:13 发表
根据你提供的说明,我整理出这些,方便直接复制粘贴使用,
只有显示信息(你258楼图片)部分没有写,等你进一步说明.


显示几个硬盘
PECMD "TEAM PART list disk,name|  MESS  disk[%name%]"

显示第一物理磁 ...


整理得很好!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2012-2-16 10:50:03 | 显示全部楼层
原帖由 2012abc19701 于 2012-2-15 15:24 发表


目前没有这个选项.


CALL @子程式
_SUB 子程式,W210H114,新視窗,,
        CHEK 選取框1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框2,L9T45W200H20,選取框2,,0
_END

左邊為pecmd 4.0的執行畫面,右邊為U27的執行畫面

CHEK 的標題一個靠左,一個居中
check.jpg
回复

使用道具 举报

 楼主| 发表于 2012-2-16 11:57:15 | 显示全部楼层

[更新到162#294]PECMD-32.2012.1除夕版.多窗口多线-U27+裸机系统+18M酷MiniPE

[更新162#294]PECMD-32.2012.1除夕版.多窗口多线-U27+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U28(已升级) +裸机系统 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/

U28 控件左对齐。 按钮图标
回复

使用道具 举报

 楼主| 发表于 2012-2-16 11:58:59 | 显示全部楼层
原帖由 bahmo 于 2012-2-16 10:50 发表


CALL @子程式
_SUB 子程式,W210H114,新視窗,,
        CHEK 選取框1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框2,L9T45W200H20,選取框2,,0
_END

左邊為pecmd 4.0的執行畫面,右邊為U27的 ...


U28

子程式
_SUB 子程式,W350H260,新視窗PECMD2012.1.28,,
        CHEK 選取框1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框2,L8T45W200H20,選取框2,,0
        RADI R1,L8T70W200H20,卸载,ENVI @Group1=%RadioButton1%,1,1  
        ITEM B1,L8T108W300H54,aaa,EXEC explorer.exe,%SystemRoot%\explorer.exe
        ITEM B1,L8T170W300H54,aaa,EXEC explorer.exe
_END

Snap1.gif
回复

使用道具 举报

发表于 2012-2-16 11:59:54 | 显示全部楼层

回复 #256 2012abc19701 的帖子

可能是我不会使用,但我查看了内部的menu.lst,发现是使用map功能实现PE和DOS启动,至于LINUX,UD区也可以与此菜单一样的方式启动。
回复

使用道具 举报

发表于 2012-2-16 12:16:58 | 显示全部楼层
能不能加PBR写入功能,即MS的BOOTSECT.EXE 提供的功能,是WIN7的,但是,可呀用于NT5.我那个03PE内置了.

仅需要:bootsect  /nt60 c:    NT60的写到C盘
bootsect /nt52 X:    NT5的写到X盘

这样,+已经有的MBR写入, 可以方便手工安装PE或者GHOST系统.


分区,还有个问题,看看怎么解决好:

1. 只写入ALIGN 和大小,完成第一分区(即不用输入起始偏移)
2. 有了第一分区后, 第二分区如何紧接着分区,只输入大小(即2,3,4分区可以顺序分,给大小即可)
因为这个第二分区如果输入起始,需要麻烦的计算,才能紧接第一分区.
回复

使用道具 举报

发表于 2012-2-16 12:46:24 | 显示全部楼层
原帖由 2012abc19701 于 2012-2-16 11:58 发表


U28

子程式
_SUB 子程式,W350H260,新視窗PECMD2012.1.28,,
        CHEK 選取框1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框2,L8T45W200H20,選取框2,,0
        RADI R1,L8T70W200H20,卸 ...


再報個bug

CALL @子程式
_SUB 子程式,W350H260,新視窗PECMD2012.1.28,,
        CHEK 選取框 1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框 2,L8T45W200H20,選取框2,,0
        RADI R1,L8T70W200H20,卸載,ENVI @Group1=%RadioButton1%,1,1  
        ITEM B1,L8T108W300H54,aaa,EXEC explorer.exe,%SystemRoot%\explorer.exe
        ITEM B1,L8T170W300H54,aaa,EXEC explorer.exe
        ENVI @選取框 1.Check=1
        ENVI @選取框 2.Check=1        
_END

發現 ENVI @選取框 1.Check=1 無動作
因為 選取框 1 中間有空白

PECMD 4.0下測試沒有問題,U28無動作
回复

使用道具 举报

发表于 2012-2-16 12:54:29 | 显示全部楼层
显示第一物理磁盘0 的信息, 第二物理磁盘号为1 .....
disk0[0 40007680000 4863 0 255 63],
磁盘号0 大小40007680000 柱面数4863 起始柱面0 磁头数255 每磁道扇区数63
PECMD "TEAM PART list disk 0,name|  MESS  disk0[%name%]"

和你说明里面有点差别,看看怎样是正确的. 特别是 0 255 63 里这个0
回复

使用道具 举报

发表于 2012-2-16 13:25:20 | 显示全部楼层
SHOW命令也请给几个典型

1. 显示全部隐藏分区,自动分配盘符
2.显示指定分区,自动分配盘符

3.显示指定分区,手工指定盘符
4.删除指定分区的盘符
5.更改指定分区盘符.

差不多这几个吧


显示全部硬盘分区,自动分配盘符
pecmd show f:-1

显示全部硬盘可见分区,自动分配盘符
pecmd show f:0
显示全部USB盘,自动分区
pecmd show u:-1

想显示全部硬盘U盘,自动分配,下面无效.说明里面好像可以?
pecmd show -1:-1

[ 本帖最后由 dvd008 于 2012-2-16 13:55 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2012-2-16 13:38:15 | 显示全部楼层

回复 #1 2012abc19701 的帖子

[更新163#301]PECMD-32.2012.1除夕版.多窗口多线-U29+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U29(已升级) +裸机系统 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/


163#301楼 U29 FIX
回复

使用道具 举报

 楼主| 发表于 2012-2-16 13:41:44 | 显示全部楼层
原帖由 bahmo 于 2012-2-16 12:46 发表


再報個bug

CALL @子程式
_SUB 子程式,W350H260,新視窗PECMD2012.1.28,,
        CHEK 選取框 1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框 2,L8T45W200H20,選取框2,,0
        RADI R1, ...



U29:

子程式  aaaaaaaaaa   bbbbbbbbb
_SUB 子程式,W350H314,新視窗,,
        CHEK 選取框 1,L8T15W200H20,測試pecmd選取框1,,0
        CHEK 選取框 2,L9T45W200H20,選取框2,,0
        RADI R1,L8T70W200H20,卸载,ENVI @Group1=%RadioButton1%,1,1  
        ITEM B1,L8T108W300H54,%1,EXEC explorer.exe,%SystemRoot%\explorer.exe
        ITEM B1,L8T170W300H54,%2,EXEC explorer.exe
        ENVI @選取框 1.Check=1
        ENVI @選取框 2.Check=1
_END


Snap1.gif

BTW:  空格做变量名, 不是好的编程风格。 没有必要,毕竟变量名是看不见的。
回复

使用道具 举报

 楼主| 发表于 2012-2-16 13:47:14 | 显示全部楼层
原帖由 dvd008 于 2012-2-16 12:54 发表
显示第一物理磁盘0 的信息, 第二物理磁盘号为1 .....
disk0[0 40007680000 4863 0 255 63],
磁盘号0 大小40007680000 柱面数4863 起始柱面0 磁头数255 每磁道扇区数63
PECMD "TEAM PART list disk 0,name|   ...


U29:
PECMD "TEAM PART list disk 0,var|  MESS  disk0[%var%]"

Snap2.gif

磁盘号0 大小40007680000 柱面数4863 磁头数255 每磁道扇区数63  每扇区512字节   FixedMedia(12, 磁盘媒体类型)
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-4-21 21:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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