Проверка определенного размера файла с помощью командного файла - PullRequest
2 голосов
/ 31 июля 2011

Буду признателен, если кто-нибудь поможет мне со следующим сценарием.На самом деле, я пытаюсь написать командный файл, который ищет AVI-файлы и проверить, не превышает ли он 200 МБ, ограничить файл с помощью cacls или del.Я новичок в пакетных файлах, и я изо всех сил стараюсь сделать это.Пожалуйста, помогите мне.

Заранее спасибо.

@ECHO OFF
SET FILETYPE=*.mp3
SET SIZELIMIT=7,425,794
for /R d:\ %I IN ('%FILETYPE%') do set FILESIZE=%~xI
if %FILESIZE% GTR %SIZELIMIT% ( del %SIZELIMIT% ) ELSE ( echo.file not found )

Шад

1 Ответ

2 голосов
/ 31 июля 2011

Как насчет этого?

@echo off
set FILETYPE=*.mp3
set SIZELIMIT=7425794
for /r D:\ %i in (%FILETYPE%) do if %~zi gtr %SIZELIMIT% del "%i"

Проблемы с вашей первоначальной попыткой включены:

  • запятых в SIZELIMIT не должно быть там
  • if оператор, не содержащийся в for loop
  • ~x возвращает расширение файла;Вы хотели ~z для размера файла
  • не нужно заключать в кавычки %FILETYPE% внутри in предложения
  • следует заключать %i в del команду, если она содержит пробелы

Надеюсь, это поможет.

...