PDA

Показать полную графическую версию : [решено] Поиск файла наибольшего размера


elis1
18-01-2013, 09:58
Добрый день!

Помогите в решении следующего задания:

В каталоге, указанном первым параметром Командного Файла, (и его подкаталогах) найти файл наибольшего размера с расширением, указанным вторым параметром Командного файла. Вывести имя и размер файла.

Этот код работает, если не указаны параметры, то выводит имя файла наибольшего размера в текущем каталоге. Если указывать параметры. Не находит.

@echo off
if `%1`==`` (SET _dir=.) ELSE (SET _dir=%1)
if `%2`==`` (SET _ext=*) ELSE (SET _ext=%2)

set _Skip=0

dir %_dir%\*.%_ext% /S /O-S /-N /-C > 0srt.
FOR /F "skip=4 tokens=1,2,3*" %%i in (0srt.) do call :skip %%i %%j %%k

del 0srt.

exit /b

:skip
if %_Skip% LSS 1 (
@echo %1.%2 %3
set /A _Skip=%_Skip%+1
)

Заранее спасибо!

gora
18-01-2013, 11:20
@Echo Off
SetLocal EnableDelayedExpansion
If "%~1"=="" (Set _dir=.) Else (Set _dir=%~1)
If "%~2"=="" (Set _ext=*) Else (Set _ext=%~2)

Set maxsize=0
For /F "tokens=*" %%i In ('Dir /S /A:-D /B "%_dir%\*.%_ext%"') Do (
If %%~zi GTR !maxsize! (
Set maxsize=%%~zi
Set name=%%~ni
Echo MAX !maxsize! %%i
)
)
Echo ===============================
Echo Name: %name%
Echo Size: %maxsize%
Pause

elis1
18-01-2013, 11:37
Спасибо большое!




© OSzone.net 2001-2012