//函数：LIST_PART_TP
//参数1：返回变量名
//参数2：磁盘
//参数3：类型
//参数4：X为排除选取，否则一般选取
_SUB  LIST_PART_TP 
    ENVI^ EnviMode=1 //避免讨厌的空变量问题
    ENVI &&_LIST_=     //初始化
    ENVI &&磁盘=%2
    ENVI &&tp0=%3
    ENVI &&X=%4 //排除
    ENVI &&全部分区=
    ENVI &&分区=
    ENVI &&分区信息=
    ENVI &&tp=
    PART list part %&磁盘%,&全部分区
    forx * %&全部分区%,&分区,
    {
        PART -hextp list part %&磁盘%#%分区%,&分区信息
        MSTR &tp=<2>%&分区信息%
        FIND $%&X%=X,!  IFEX $%&tp%=%&tp0%,!!  ENVI &_LIST_=%&_LIST_% %分区%
        FIND $%&X%=X,!! IFEX $%&tp%=%&tp0%,!   ENVI &_LIST_=%&_LIST_% %分区%  //排除
    }
    ENVI %1=%&_LIST_%
_END


//调用示例
ENVI &&LIST1= //定义一个局部变量
ENVI &&LIST2= //定义一个局部变量
LIST_PART_TP &LIST1 0 22    //全部 0x15
LIST_PART_TP &LIST2 0 22 X //除0x07外全部

MESS %&LIST1% \n%&LIST2% 
