|
看源码
_SUB ISO2GHOWIM
EXEC =!ISOCMD.EXE -eject 0:
TEAM ENVI &&GIPATH=|ENVI &&aGHOLS=|ENVI &&GLSinISO=|ENVI &&vln=|ENVI &&HD45=
EXEC =!ISOCMD.EXE -mount %&FFDrv%: %1
FORX %&FFDrv%:\*.GHO,ANYGHO,0,ENVI &aGHOLS=%&aGHOLS%%&NLDD%%ANYGHO%
FORX @%&FFDrv%:\*,GHODIR,0,
{
FORX %GHODIR%\*.GHO,ANYGHO,0,ENVI &aGHOLS=%&aGHOLS%%&NLDD%%ANYGHO%
FORX @%GHODIR%\*,GHO1DIR,0,
{
FORX %GHO1DIR%\*.GHO,ANYGHO,0,ENVI &aGHOLS=%&aGHOLS%%&NLDD%%ANYGHO%
FORX @%GHO1DIR%\*,GHO2DIR,0,FORX %GHO2DIR%\*.GHO,ANYGHO,0,ENVI &aGHOLS=%&aGHOLS%%&NLDD%%ANYGHO%
}
}
FORX *NL &aGHOLS,&vln,
{
FIND $%&vln%=,!
{
FNAM &HD45=%&vln%
FIND $%&HD45%=HD4,! FIND $%&HD45%=HD5,! ENVI &GLSinISO=%&GLSinISO%%&vln%%&NLDD%
}
}
TEAM ENVI &&aWIMLS=|ENVI &&WLSinISO=|ENVI &&R9=
FORX %&FFDrv%:\*.WIM,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
FORX %&FFDrv%:\*.ESD,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
FORX @%&FFDrv%:\*,WIMDIR,0,
{
FORX %WIMDIR%\*.WIM,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
FORX %WIMDIR%\*.ESD,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
FORX @%WIMDIR%\*,WIM1DIR,0,
{
FORX %WIM1DIR%\*.WIM,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
FORX %WIM2DIR%\*.ESD,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
FORX @%WIM1DIR%\*,WIM2DIR,0,FORX %WIM2DIR%\*.WIM,ANYWIM,0,ENVI &aWIMLS=%&aWIMLS%%&NLDD%%ANYWIM%
}
}
FORX *NL &aWIMLS,&vln,
{
FIND $%&vln%=,!CALL GetWIMVolumesInISO "%&vln%"
}
ENVI &GHOWIMLS=%&GLSinISO%%&WLSinISO%
ENVI @GHOWIMOnTimer3=0
ENVI @GHOWIMinISO.POSTMSG=#1
_END
_SUB GetWIMVolumesInISO
TEAM ENVI &&WIMINFO=|ENVI &&vln=|ENVI &&F1=|ENVI &&cPOS1=0|ENVI &&cPOS2=0|ENVI &&Lc=0
TEAM ENVI &&Wstr=|ENVI &&DISPOS=0|ENVI &&aSIZE=|ENVI &&aDESC=|ENVI &&bDESC=|ENVI &&szVol=
FILE PPP.TXT
FILE JJJ.TXT
EXEC =!CMD.EXE /C imagex /info %1 >PPP.TXT
CODE -UTF8,PPP.TXT,-UNICODE,JJJ.TXT
READ JJJ.TXT,**,&WIMINFO
FILE PPP.TXT
FILE JJJ.TXT
FORX *NL &WIMINFO,&vln,
{
MSTR &F1=<1>%&vln%
FIND $%&F1%=<IMAGE,
{
LPOS &cPOS1=",1,%&vln%
LPOS &cPOS2=",2,%&vln%
CALC #&cPOS1 = %&cPOS1% + 1
CALC #&Lc = %&cPOS2% - %&cPOS1%
MSTR &Wstr=%&cPOS1%,%&Lc%,%&vln%
}
LPOS* &DISPOS=<TOTALBYTES>,1,%&F1%
IFEX $%&DISPOS% = 1,
{
LPOS &cPOS1=>,1,%&vln%
LPOS &cPOS2=<,2,%&vln%
CALC #&cPOS1 = %&cPOS1% + 1
CALC #&Lc = %&cPOS2% - %&cPOS1%
MSTR &aSIZE=%&cPOS1%,%&Lc%,%&vln%
CALC &aSIZE = %&aSIZE% / 1073741824#2
IFEX $%&aSIZE% < 0.9, TEAM CALC &aSIZE = %&aSIZE% * 1024#1|ENVI &szVol=[%&aSIZE%MB]! ENVI &szVol=[%&aSIZE%GB]
}
LPOS* &DISPOS=<NAME>,1,%&F1%
IFEX $%&DISPOS% = 1,
{
LPOS &cPOS1=>,1,%&vln%
LPOS &cPOS2=<,2,%&vln%
CALC #&cPOS1 = %&cPOS1% + 1
CALC #&Lc = %&cPOS2% - %&cPOS1%
MSTR &aDESC=%&cPOS1%,%&Lc%,%&vln%
}
LPOS* &DISPOS=<DISPLAYNAME>,1,%&F1%
IFEX $%&DISPOS% = 1,
{
LPOS &cPOS1=>,1,%&vln%
LPOS &cPOS2=<,2,%&vln%
CALC #&cPOS1 = %&cPOS1% + 1
CALC #&Lc = %&cPOS2% - %&cPOS1%
MSTR &bDESC=%&cPOS1%,%&Lc%,%&vln%
}
FIND $%&F1%=</IMAGE>,
{
FIND $%&bDESC%=,ENVI &WLSinISO=%&WLSinISO%%~1-> %&Wstr% %&aDESC% %&szVol%%&NLDD%!ENVI &WLSinISO=%&WLSinISO%%~1-> %&Wstr% %&bDESC% %&szVol%%&NLDD%
ENVI &bDESC=
}
}
_END
|
|