Пакетний файл для перевірки та порівняння розміру .log-файлу в папці [закрито]


-3

Мені потрібно знайти файли з папки, розмір якої перевищує 10 Мб.

Підкажіть, будь ласка, як я можу виконати це завдання.


1
Ласкаво просимо до Супер Користувача! Зверніть увагу, що Super User не є сервісом написання сценарію. Якщо ви скажете нам, що ви намагалися до цього часу (включаючи будь-які сценарії, якими ви користуєтесь) і де ви застрягли, ми можемо спробувати допомогти у вирішенні конкретних проблем. Ви також повинні прочитати Як мені поставити гарне запитання? .
DavidPostill

Відповіді:


1

Ось просте і просте рішення PowerShell (як альтернатива партії)

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

що ми тут робимо:

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

Редагувати: Щоб використовувати цю команду у файлі Batch замість самого PowerShell, ви можете написати:

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

Привіт, експерти, я новачок у цьому сценарії, тому я не можу точно запитати чи пояснити. Вдячний за мене і за вищезазначені посади. Що я робив, це те, що мені потрібно знайти в папці файли (журнали), розмірами яких більше 10 Мб, і надіслати пошту з назвою файлів. Хитра частина: пошту слід надсилати, коли в папку надходить новий файл, тож я завжди повинен слідкувати і розрізняти старий і новий файл. Проблема: я написав наступний код і не зміг побудувати логіку для пошти. Як я можу визначити, коли приходить новий файл та запускає пошту?
Сем

@echo off set mail_to_list = ****@gmail.com powershell echo $ vari1 = "& gci 'C: \ Users \ z003mcsd \ Desktop \ Performance" |% {get-item $ _. FullName |? {$ _. length -gt 10mb}}} повноважень {Send-MailMessage -До "% mail_to_list%" -From 'v**@****.com' -Subject 'Файл журналу більше 100 МБ' -Будь 'Перевірте файл журналу в знаю статус ..... '-SmtpServer' пошта. *****. de '} "
Сем

@Sam Я думаю, що було б добре поставити нове запитання з цього приводу, оскільки це питання не є "хорошим питанням", і це не стосується вашої проблеми з поштою
SimonS

Я поставив нове питання. Я написав сценарій в силі і я з нетерпінням чекаю. відповідно до вашого внеску.
Сем

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


Мені цікаво, що це за 10 Мб .. як австрійські сили або жарт з червоним шарфом .. Начебто запитати адвоката, що трапиться, якщо сліпий чоловік вигулює собаку своїх сусідів по саду з кущів троянд, і він виявить саме цю тему на сторінці 644 якоїсь книги.
барлоп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.