|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление файлов по дате |
|
CMD/BAT - [решено] Удаление файлов по дате
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Всем приветы, помогите пожалуйста с вопросом...
В папке есть масса файлов разной даты, как сделать батник чтобы 10 файлов с последней датой оставлял - самые свежие, остальные удалял? Причем если в папке меньше 10 файлов, чтобы оставлял все. Т.е. по другому опишу задачу: в папке есть пачка файлов, нужно оставить последние 10 по самой свежей дате, включая текущий день, старшие фалы удалить, но если в папке менее 10 файлов, то оставлять их все. Помогите плз? Заранее буду ОЧЕНЬ благодарен, с меня + |
|
Отправлено: 12:27, 10-05-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:45, 10-05-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата AlexPebody:
@echo off setlocal enableextensions enabledelayedexpansion set sFolder=%~1 if defined sFolder ( if exist "%sFolder%\." ( for /f "skip=10 delims==" %%i in ('dir /b /a:-d /o:-d "%sFolder%\*.*"') do Цитата AlexPebody:
|
||
Последний раз редактировалось Iska, 25-07-2013 в 16:33. Причина: Учтено замечание коллеги MMX-Dimitrov Отправлено: 13:17, 10-05-2012 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата AlexPebody:
Цитата AlexPebody:
|
||
Отправлено: 13:39, 10-05-2012 | #4 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Запускаю вот так прямо из командной строки cmd: for /f "skip=10 delims==" %%i in ('dir /b /a:-d /o:-d') do del /f /q "%%i" удаляет 10 файлов, а пакетником не работает... Подскажите что может быть? Все, доделал сам! Спасибо большое!!! Для некой рекурсии применил вот это: |
||
Последний раз редактировалось AlexPebody, 10-05-2012 в 14:06. Отправлено: 13:43, 10-05-2012 | #5 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Опечатка небольшая в коде: нужно в цикле тоже прописать каталог, иначе будет срабатывать только для текущего каталога и толку от параметра никакого
@echo off setlocal enableextensions enabledelayedexpansion set sFolder=%~1 if defined sFolder ( if exist "%sFolder%\." ( for /f "skip=10 delims==" %%i in ('dir %sFolder% /b /a:-d /o:-d') do echo del /f /q "%sFolder%\%%i" ) else ( echo Folder [%sFolder%] not found ) ) else ( echo Usage: %~nx0 ^<Path to Folder^> ) endlocal exit /b 0 |
Отправлено: 16:19, 25-07-2013 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать MMX-Dimitrov, верно, это я прошляпил.
Поправил. |
Отправлено: 16:33, 25-07-2013 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление файлов по дате больших размеров. | Sony777 | Скриптовые языки администрирования Windows | 11 | 03-06-2012 16:23 | |
CMD/BAT - [решено] Удаление папки по дате | Obnin | Скриптовые языки администрирования Windows | 8 | 14-12-2011 13:21 | |
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов | KamikadZZe | Скриптовые языки администрирования Windows | 1 | 01-09-2011 14:15 | |
CMD/BAT - Удаление файлов по дате | ADGJMPTW | Скриптовые языки администрирования Windows | 1 | 10-10-2010 20:08 | |
VBS/WSH/JS - [решено] VBS/WSH. Сортировка файлов по дате. | rancid | Скриптовые языки администрирования Windows | 3 | 23-07-2009 06:38 |
|