Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Поиск файла наибольшего размера (http://forum.oszone.net/showthread.php?t=251735)

elis1 18-01-2013 09:58 2069331

Поиск файла наибольшего размера
 
Добрый день!

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

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

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

@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 2069375

Код:

@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 2069392

Спасибо большое!


Время: 05:10.

Время: 05:10.
© OSzone.net 2001-