BAT файлом сравнить ряд файлов по размеру - если общий размер сходится удалить
Здравствуйте.
Есть папка C:\1\ Внутри неё папка C:\1\2\ В папке 2 есть файл A.ZIP. Внутри него файлы: 1.txt 2.txt 3.txt 4.txt В папке '1' имеются так же файлы: 1.txt 2.txt 3.txt 4.txt Необходимо бат файлом сравнить общий размер файлов в архиве 'A.zip' и в папке '1'. Если общий размер файлов сходится - удалить txt файлы в папке 1. Если размер не сошёлся - не удалять. Поможете реализовать? Спасибо! Постскриптум: сейчас вручную открываю архив в TC, смотрю общий размер файлов в архиве и сравниваю с размером файлов в папке - если сходится, файлы из папки удаляются. |
Попробуйте так:
Код:
@Echo Off |
Спасибо - но почему-то не срабатывает чистка. Пути проверил, 7z.exe есть ...
неправильно размер текстовых файлов определяется - а 7z правильно размер определил.... |
Цитата:
|
Есть. Можно как-то ограничить только по папке 1 без вложенных папок?
спасибо большое |
Замените строку первого цикла на приведенную ниже:
Код:
For %%i In ("%FoldTXT%\*.txt") Do Set /a size +=%%~zi |
gora спасибо большое.
У меня последний вопрос (как обычно приходит в голову опосля). А что, если в "папке 2" у меня несколько архивов - можно сделать условие такое: 1) Проверить даты создания архивов - определить самый последний созданный архив 2) Сверху размеров производить только с последним созданным архивом? ___________ Если нельзя как-то определить последний созданный архив - можно подсказать проверку размера по всем архивам, что правда не совсем желательно - так как это займёт немного дольше времени... Спасибо! |
Проверяйте:
Код:
@Echo Off |
Цитата:
В чём может быть проблема? |
Цитата:
Код:
Echo %%~ti 2 Какая ОС? |
Вложений: 1
echo %%~ti почему-то переменную не выводит
win 2000 server |
не туда эхо вставлял. Вывел полностью список всех файлов с датами (всё правильно) - но почему-то не берёт последний, а берёт откуда-то из середины. При этом скрипт на других схожих папках прошёлся успешно, а на одной встрял =/
|
У Вас так:
Цитата:
Цитата:
|
Цитата:
|
gora, а можно батник под мою дату поменять?
Спасибо. |
Цитата:
Код:
Set tm=!tm:~8,2!!tm:~3,2!!tm:~0,2!!tm:~11,2!!tm:~14,2! Код:
Set tm=!tm:~6,2!!tm:~3,2!!tm:~0,2!!tm:~9,2!!tm:~12,2! |
gora, ты бог cmd =) спасибо)
p.s.: нашёл кучу упоминаний про тебя на других форумах пока похожие проблемы искал :) Типа "гора с озона и его метод" :) |
Время: 21:28. |
Время: 21:28.
© OSzone.net 2001-