-3

Я должен найти файлы из папки, размер которой превышает 10 МБ.

Пожалуйста, руководство, как я могу выполнить эту задачу.

2 ответа2

1

Перечислите все файлы размером более 10 МБ в данном каталоге и его подкаталогах.

@echo off

setlocal enabledelayedexpansion

set "SEARCH_DIR=%~1"

echo Usage: %~nx0 directory
echo Lists all files in given directory and its subdirectories larger than 10MB.

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 GTR 10000000 echo %%F
)

Пример: Запустите вышеуказанный пакетный скрипт (в данном примере с именем script.bat), чтобы вывести список всех файлов размером более 10 МБ на диске D.

C:\>script.bat D:

Источник: пакетный скрипт для поиска файлов размером более 10 МБ на диске D в Windows XP

1

Вот простое и простое решение PowerShell (в качестве альтернативы пакетному)

gci 'C:\yourpath\yourfolder' | % { get-item $_.FullName | ? { $_.length -gt 10mb } }

что мы делаем здесь:

  • получать все файлы внутри вашей папки с помощью gci
  • перебирать все файлы через псевдоним foreach-object %
  • проверка длины файла предметов через get-item
  • только выбрать файлы размером более 10 МБ по псевдониму where-object ? запрос.

Редактировать: чтобы использовать эту команду в пакетном файле вместо самого PowerShell, вы можете написать:

powershell -command "gci 'C:\yourpath\yourfolder' | % { get-item $_.FullName | ? { $_.length -gt 10mb } }"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .