Компьютерный форум 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=308162)

oxid63 19-11-2015 14:11 2576483

поиск в заданном каталоге файла наибольшего размера с указанным расширением
 
Разработать командный файл для интерпретатора командной строки CMD OC Windows, предусматривающий ввод в командной строке наименования каталога, а также ввод расширения файла.
Дальнейшие команды должны обеспечить поиск в заданном каталоге файла наибольшего размера с указанным расширением.
Командный файл должен выводить на экран имя найденного файла и его размер.


Ребята помогите пожалуйста нубчику

Elven 19-11-2015 15:17 2576512

Сильно похоже на школьную задачку. Не хочется как-то оказывать медвежью услугу, посему дам только несколько советов:
введенные параметрами к запуску файла данные через пробел помещаются в переменные %1 %2 и т.д.
т.е. если при запуске указать например prgrm.cmd c:\folder jpg то мы получим при выполнении две переменные %1 со значением c:\folder и %2 со значением jpg
дальше достаточно прочитать for /? (особо уделив внимание tokens и delims) и dir /? (присмотревшись к ключам сортировки по размеру)

Iska 19-11-2015 15:19 2576515

Цитата:

Цитата oxid63
ввод в командной строке наименования каталога, а также ввод расширения файла. »

Читайте «set /?», для ввода пользуйте «set /p».

oxid63 19-11-2015 15:29 2576526

Elven ребят дошел до этого а дальше не знаю чо как
@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 /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


подскажите

Elven 19-11-2015 16:06 2576543

Вместо вот этого
Цитата:

Цитата oxid63
If %%~zi GTR !maxsize! (
Set maxsize=%%~zi
Set name=%%~ni
Echo MAX !maxsize! %%i »

как я и рекомендовал
Цитата:

Цитата Elven
достаточно прочитать for /? (особо уделив внимание tokens и delims) и dir /? (присмотревшись к ключам сортировки по размеру) »

з.ы. имхо, использовать tokens для забивания в переменную строки целиком - гвозди микроскопом.


Время: 05:03.

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