!BAT setlocal debug off checkrange 20110918:-1 read 0x8278 || echo Please use grub4dos-0.4.5b-2011-09-18 or above! && exit 1 if "%1"=="" goto arameterMeasurement set * :GetParameters if /i "%1"=="" && goto arameterMeasurement set m.%~1=%~2 shift 1 shift 1 goto :GetParameters :help echo Usage: %0 cmd="cmd for each file" OPTIONS.. echo OPTIONS: echo -e \t title="the main menu title" echo -e \t menu="pre_set menu file" echo -e \t subdir=n echo -e \t devs="find parameters" echo -e \t return="return cmd" echo -e \t init="init cmd" echo -e \t filpre=filepre echo -e \t ext=fileext echo -e \t root="root dir. e.g. ()/boot/" echo -e \n\t for more please visit http://chenall.net exit :MenuCenter set title=____________________ set title=%title:~0,%1%% exit arameterMeasurement if not exist m.cmd && goto :help if not exist m.title && set m.title=Please select a file if not exist m.menu && set m.menu=(md)0x210+16 && echo -e default 1\ndebug off > (md)0x210+16 if not exist m.subdir && set m.subdir=1 if not exist m.devs && set m.devs=--set-root if not exist m.root && set m.root=() echo -e !BAT\necho %m.cmd% \>\> %m.menu% > (md)0x260+4 ::GetTheTitleNumberOfCharactersForTheTitleCenter set title=%m.title% set /a title=68-*0x4CB00>>1 call :MenuCenter %title% ::AutomaticallyGeneratedMenu set ?_n=1 set m.info=File list menu for grub4dos by chenall.\n\t\t for more information please visit http://chenall.net if exist m.init && echo %m.init% >> %m.menu% echo title %title% %m.title% %title%\n\n\t%m.info% >> %m.menu% echo pause %m.info% >> %m.menu% echo -e $[0106] %m.info% echo $[0102] Please wait ... echo $[1105] Working...... root %m.root% if exist m.debug echo %@time% find %m.devs% call :GenerateListOfFiles || echo Unknow Error. if exist m.debug pause %@time% echo title _________________ http://chenall.net _ 2011-08-22 _\n\n\t%m.info% >> %m.menu% echo pause %m.info% >> %m.menu% set ?_n= if not exist m.return && configfile %m.menu% echo title 0. Return >> %m.menu% echo %m.return% >> %m.menu% ::echo boot >> %m.menu% echo pause >> %m.menu% ::echo configfile %m.menu% >> %m.menu% echo commandline >> %m.menu% configfile %m.menu% exit :FileFilter if "%~1"=="" exit set tmp=%1 shift if "%tmp:~-2,1%"=="~" && goto :FileFilter if "%tmp:~0,1%"=="$" && goto :FileFilter call :TestFile %0 goto :FileFilter :GetFileSize calc *0x8290>>30 && set size=30GB && exit calc *0x8290>>20 && set size=20MB && exit calc *0x8290>>10 && set size=10KB && exit set size=00B exit :TestFile if exist m.debug1 && echo %~f1 ::DetectPrefix call Fn.10 "%m.filpre%" "%~n1" if "%@retval%"=="1" && goto etectionCatalog ::DetectCease if exist m.ext || goto :AddMenu set f.type=%~x1 if not exist f.type set f.type=. call :Filter %m.ext% && goto :AddMenu etectionCatalog if %m.subdir%==0 && exit if exist m.dirext || if "%~x1"=="" || exit cat --length=0 /%1 && exit if exist m.debug2 && echo $[0101] %~f1 goto :GenerateListOfFiles :Filter if "%1"=="" && exit 1 shift if /i "%0"=="%f.type%" || goto :Filter exit :AddMenu cat --length=0 /%1 || goto etectionCatalog call :GetFileSize if exist m.debug3 && echo $[0102] %~f1 calc *0x8290=*0x8290>>%size:~0,2% set size=%@retval% %size:~2% set m=1 %?_n% echo title %m:~-3%. %~f1\n\n\t~%size% %~f1 >> %m.menu% (md)0x260+4 %~f1 echo pause >> %m.menu% echo configfile %m.menu% >> %m.menu% ::echo boot >> %m.menu% set /a ?_n=%?_n%+1 exit :GenerateListOfFiles setlocal if "%~1"=="" || root %~f1 set /a m.subdir=%m.subdir%-1 ls | call :FileFilter= || echo endlocal exit |