[求助]代码来源于蜂鸟PE,请问这段怎么改才能读取所有硬盘
2024-1-30 556

_SUB USBDISK
    ENVI DISKLIST=
    ENVI^ EnviMode=1
    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,&&SYDISK
    forx * %&SYDISK%,&DDISK,
    {*
    PART -devidx list disk %&DDISK%,&&iDskInf
    MSTR &&hd,&&SZ,&&Bus,&&DskID=<1><2><9><~12>%&iDskInf%
    FIND $%&DskID%=,
    {*
    PART -devid list disk %&DDISK%,&&iDskInf
    MSTR &&DskID=<12>%&iDskInf%
    SED &DskID=0,USBSTOR\\DISK,,%&DskID%
    SED &DskID=0,SCSI\\DISK,,%&DskID%
    SED &DskID=0,\&VEN__,,%&DskID%
    SED &DskID=0,\&VEN_,,%&DskID%
    SED &DskID=0,&REV.*,,%&DskID%
    SED &DskID=0,PROD,,%&DskID%
    SED &DskID=0,\\.*,,%&DskID%
    SED &DskID=0,_, ,%&DskID%
    SED &DskID=0,&,,%&DskID%
    }
    IFEX #%Bus%<>%filtp%,EXIT -
    CALC &SZ=%&SZ%/1G#1
    SET SZ=%&SZ%G
    ^SET DISKLIST=%DISKLIST%|(HD%&DDISK%): %&DskID% (%%&Drv[%hd%]%%) %&SZ%
    }
    IFEX |%DISKLIST%=,ENVI DISKLIST=没有发现磁盘
    ENVI @LIST1.VAL=%DISKLIST%
    ENVI @LIST1.isel=1
_END

收藏
点赞
分享
最新回复 (1)
  • avatar image

    可以参考PECMD示例文件

    : )
返回