|
本帖最后由 ling3882688 于 2016-7-17 14:40 编辑
M大,上次改完还是有点问题,如果磁盘0没有任何windows分区,按说返回值应该是0.如果我把这个脚本放到PE的system32目录或者桌面反正只要是在PE的系统盘任何路径下运行,返回值就是1.放到U盘里返回值才是正确的0.不知是咋回事。是不是把PE也当作windows判断进去了?
问题出在当%VOL%为空的时候是默认当前磁盘。该如何修改呢?
我加了一句: IFEX |%Vol%=, EXIT -
M大看看有问题不?
- _SUB GetWPart
- ENVI^ FORCELOCAL=1
- SET &hd=%~1
- CALC #hd=%hd%
- PART list part %hd%,&&pts
- SET WinD=0
- FORX * %pts%,&&pt,
- {
- //LSTR &&c0=1,%pt%
- //FIND $%c0%=@, EXIT - //扩展
- IFEX #%pt%<=0, EXIT -
- TEAM PART -phy# list part %hd%:%pt%,&&v1| MSTR &<p,&&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%
复制代码
|
|