Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] bat с удалением нескольких файлов

Ответить
Настройки темы
CMD/BAT - [решено] bat с удалением нескольких файлов

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


День добрый, проблема заключается в том что есть много файлов:

01.02.2012Иванова.И.И.doc
03.02.2012Петров.П.И.doc
05.03.2012Никифоров.П.П.doc
. . .
и так далее... файлы находятся в папках с названиями

mail@mail.ru
yandex@yandex.ru
google@google.ru
. . .
и так далее...

как написать такой bat файл который удалял бы файлы до определенной даты... то есть по названию файлы...

можно конечно и вставить 01.02.2012 и по 31.02.2012 и так же перечислить папки...
Но как лучше сделать?

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

Отправлено: 07:10, 28-06-2012

 

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата mataranga:
написать такой bat файл который удалял бы файлы до определенной даты... то есть по названию файлы... »
Попробуйте так:
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
:: Каталог с обрабатываемыми папками
Set Folder=e:\Temp
:: Последняя дата, ранее которой все файлы будут удалены
Set lastDate=02.02.2012
Call :_norml %lastDate% N_lastDate
:: Список папок для удаления файлов. Если в имени пробел, то его заключить в кавычки
For %%f In (
	mail@mail.ru
	yandex@yandex.ru
	google@google.ru
	"google @google.ru"
) Do (
	For %%i In ("%Folder%\%%~f\*.doc") Do (
		Call :_norml "%%~ni" N_Date
		If !N_Date! LSS %N_lastDate% Echo Del /Q "%%i"
	)
)
Pause>Nul

:_norml
Set dat=%~1
Set %2=%dat:~6,4%%dat:~3,2%%dat:~0,2%
GoTo :EOF
Echo удалить после проверки.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:41, 28-06-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Может я немного не понял...

я создал бат - файл и скопировал код туда... указав пути к папкам...

при запуске он открыл cmd... и после нажатия кнопки закрывает его и не чего не происходит.


а он учитывает строго 02.03.2012.doc или 02.03.2012Иванов.И.И.doc...

Отправлено: 11:22, 28-06-2012 | #3


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Может у Вас неправильно указан путь (или в пути есть спец символы), имена папок, может нет файлов в них соответствующих дате, но у меня по приведенным Вами данным имен файлов и папок находит и выводит в окно консоли:
Код: Выделить весь код
Del /Q "e:\Temp\mail@mail.ru\01.02.2012Иванова.И.И.doc"
Del /Q "e:\Temp\yandex@yandex.ru\01.02.2012Иванова.И.И.doc"
Del /Q "e:\Temp\google@google.ru\01.02.2012Иванова.И.И.doc"
Цитата mataranga:
а он учитывает строго 02.03.2012.doc или 02.03.2012Иванов.И.И.doc... »
Расширение у файла должно быть .doc , и начинаться имя должно с даты (10 символов) в указанном Вами формате. Остальное в имени игнорируется.

Наличие других файлов .doc в этих папках (начинающихся не с даты) не предусматривалось и если они есть, то об этом нужно предупреждать, т.к., скрипт этого может не "переварить".
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:39, 28-06-2012 | #4


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 12:07, 28-06-2012 | #5


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата mataranga:
консоль пишет DEL ... но он не удалил файлы »
Цитата gora:
Echo удалить после проверки. »
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:08, 28-06-2012 | #6


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Простите великодушно, я понимаю что должен подтвердить удаление... но не понимаю как

Это в коде надо добавить строчки?
или в cmd окне что-то нажать?

Отправлено: 12:21, 28-06-2012 | #7


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата mataranga:
Это в коде надо добавить строчки?
или в cmd окне что-то нажать? »
Удалите в батнике слово Echo в одной строке, где оно присутствует, и строка должна стать такой:
Код: Выделить весь код
		If !N_Date! LSS %N_lastDate% Del /Q "%%i"
После этого в консоль не будет ни чего выводится, а будут удаляться файлы.
Слово Echo в этом скрипте просто "экранировало" команду удаления (не давало ей выполняться) для удобства отладки скрипта.

Последний раз редактировалось gora, 28-06-2012 в 12:37.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:26, 28-06-2012 | #8


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать





Ой только заметил ошибку свою... у меня формат даты не 01.01.2012 а 01.01.12 ...
А так все вроде работает у меня он по честному удалял все файлы


это долго исправить?

Последний раз редактировалось mataranga, 28-06-2012 в 12:57.


Отправлено: 12:52, 28-06-2012 | #9


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата mataranga:
заметил ошибку свою... у меня формат даты не 01.01.2012 а 01.01.12 »
Тогда исправьте в скрипте в двух строках:
Код: Выделить весь код
Set lastDate=02.02.12

...

Set %2=%dat:~6,2%%dat:~3,2%%dat:~0,2%
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:00, 28-06-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] bat с удалением нескольких файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
двухстороннее синхронизация папок с удалением и появление файлов ? mitiya AutoIt 4 08-02-2012 18:18
Доступ - [решено] Проблема с изменением/удалением файлов SiNiK Microsoft Windows 7 3 06-02-2012 16:57
Разное - [решено] Прошу помочь с удалением неудаляемых файлов и ключей реестра tovit Microsoft Windows 2000/XP 4 09-11-2011 22:15
VBS/WSH/JS - [решено] Архивация файлов с последующим удалением Romano Скриптовые языки администрирования Windows 5 23-03-2011 18:03
Архиваторы - Пакер нескольких файлов в один exe Fildy Программное обеспечение Windows 4 11-03-2010 16:57




 
Переход