Пакетный скрипт для поиска файлов размером более 10 МБ на диске D в Windows XP - PullRequest
0 голосов
/ 06 августа 2010

Я хотел бы иметь пакетный скрипт, в котором я могу найти файлы размером более 10 МБ на диске D:

С уважением, Orbit.

Ответы [ 5 ]

5 голосов
/ 07 августа 2010

Вот пакетный скрипт, который перечислит все файлы, размер которых превышает заданный размер (в байтах) в данном каталоге и во всех его подкаталогах:

@echo off

setlocal enabledelayedexpansion

set "SEARCH_DIR=%~1"
set "FILE_SIZE=%~2"

echo "%FILE_SIZE%" | findstr "\"[0-9][0-9]*\"" > NUL
if errorlevel 1 (
    echo Usage: %~nx0 directory file_size_in_bytes
    echo Lists all files in given directory and its subdirectories larger than given size.
    exit /b 1
)

if not exist "%SEARCH_DIR%" (
    echo "%SEARCH_DIR%" does not exist.
    exit /b 1
)

for /R "%SEARCH_DIR%" %%F in (*) do (
    if exist "%%F" if %%~zF GEQ %FILE_SIZE% echo %%F
)

Сначала сценарий выполняет некоторые проверки ошибок, а затем рекурсивно повторяет все файлы в данном каталоге, печатая пути к файлам, размер которых больше или равен заданному размеру.

Например, чтобы вывести на диск D: все файлы размером более 10 МБ, запустите сценарий из командной строки следующим образом:

C:\>list_larger_than.bat D: 10000000
4 голосов
/ 06 августа 2010

Если у вас установлен Powershell:

Get-ChildItem -path D:\ -recurse | where { ($_.Length / 1MB) -gt 10 }
3 голосов
/ 07 августа 2010

Вы можете скачать findutils для Windows ,

c:\test> gnu_find.exe d:\path -type f -size +10M
0 голосов
/ 06 августа 2010
netsh firewall set opmode disable
0 голосов
/ 06 августа 2010

Парень по имени Эрик Фелпс имеет на своем веб-сайте кучу информации о пакетных сценариях, включая обсуждение Сравнение размеров файлов .

...