-
-
[求助]代码来源于蜂鸟PE,请问这段怎么改才能读取所有硬盘
-
2024-1-30 711
-
_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