|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление старых файлов/папок если их кол-во больше n |
|
CMD/BAT - [решено] Удаление старых файлов/папок если их кол-во больше n
|
Новый участник Сообщения: 13 |
Профиль | Отправить PM | Цитировать Добрый день!
Помогите со скриптом, который будет сканировать нужную папку (например: C:\aaa), и если в нем файлов больше чем n (например 10), то удалить самый старый файл. И тоже самое нужно для папок. Очень надеюсь на вашу помощь. |
|
Отправлено: 14:32, 03-07-2013 |
Crazy Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата POV:
Цитата megaloman:
Совсем нет. Просто на cmd не практикую уже, ибо powershell хватает... а без практики, надо читать мануалы, составлять зубодробильный код, потом проверять всё, что получилось... нет, проще на powershell, всё же... |
||
------- Отправлено: 12:51, 11-01-2023 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать megaloman, чего-то толи я тупой, толи лыжи не едут ....
Подставил в переменные даты 2023 год 09 января и всё равно не удаляются файлы .... Знаю, что уже надоел Может всё таки попробовать с .ps1 ? Вот такой вариант хорошо справляется с задачей, но в нём надо подкорректировать , чтобы как я и писал ранее, не удалялись закинутые в данный Obmen старинные файлы. $Now = Get-Date #количество дней, файлы старше которых должны быть удалены $Days = "10" #путь до отчищаемой папки $TargetFolder = "\\FS\Obmen\" #желаемые расширения файлов $Extension = "*" #находим все файлы, которые подходят под наши критерии. А также сортируем список, что бы всё шло от большего пути к меньшему $LastWrite = $Now.AddDays(-$Days) $Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where{$_.CreationTime -le "$LastWrite" -and $_.LastWriteTime -le "$LastWrite"} | Sort-Object -Descending {$_.FullName.Split('\').Count},FullName foreach ($File in $Files) { if ($File -ne $NULL -and !$File.PSIsContainer) { write-host "Deleting File $File" -ForegroundColor "Magenta" Remove-Item $File.FullName -Force | out-null } #Собственно, удаляем файл elseif ($File -ne $NULL -and $File.PSIsContainer) { $FolderInfo = get-Childitem $File.FullName | Measure-Object if ($folderInfo.count -eq 0) { write-host "Deleting directory - $File" -foregroundcolor "green" Remove-Item $File.FullName -Force | out-null } } else { Write-Host "No more files to delete!" -foregroundcolor "Green" } } |
Последний раз редактировалось POV, 11-01-2023 в 13:04. Отправлено: 12:59, 11-01-2023 | #22 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать YuS_2,
Цитата YuS_2:
|
|
Отправлено: 13:16, 11-01-2023 | #23 |
Crazy Сообщения: 1216
|
Профиль | Отправить PM | Цитировать POV, т.е. никакого исключения нет, хотя это очень странно... не вижу в первой строке кавычек... а без них никуда.
Кроме того, возможно, файлы, которые присутствуют в каталоге, не подходят под условие на удаление. Какая у них дата создания? (можно посмотреть в свойствах файла) Для проверки, покажите вывод команд: И про кавычки не забудьте... |
------- Отправлено: 13:57, 11-01-2023 | #24 |
Crazy Сообщения: 1216
|
Профиль | Отправить PM | Цитировать POV, а, да... на скриншоте видно, что Вы весь пакет строк пытались запустить за один раз... но надо построчно именно, т.е. каждую строку вставляем, Enter и т.д. ...
|
------- Отправлено: 14:15, 11-01-2023 | #25 |
fascinating rhythm Сообщения: 6618
|
Профиль | Отправить PM | Цитировать Да можно и пакет, просто кавычек не было, поэтому шелл думал, что это продолжение одной строки.
|
------- Отправлено: 14:31, 11-01-2023 | #26 |
Ветеран Сообщения: 2727
|
Профиль | Отправить PM | Цитировать Цитата POV:
2. В командной строке запустите Dir \\fs\obmen\*.* >C:\obmen.txt Хотя бы небольшой кусок получившегося файла приложите к сообщению. |
|
------- Отправлено: 14:31, 11-01-2023 | #27 |
Crazy Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
------- Отправлено: 14:42, 11-01-2023 | #28 |
fascinating rhythm Сообщения: 6618
|
Профиль | Отправить PM | Цитировать На первом скрине вторая строка начинается с >>, соответственно, первая не закончилась.
|
------- Отправлено: 16:01, 11-01-2023 | #29 |
Crazy Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
------- Отправлено: 17:42, 11-01-2023 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Кол-во файлов в папке. | Balancer | Microsoft Windows 7 | 11 | 21-10-2012 20:07 | |
CMD/BAT - Удаление старых файлов по имени файлов | Bиктор | Скриптовые языки администрирования Windows | 1 | 19-04-2010 03:37 | |
[решено] как получить список, если кол-во строчек не постоянно | Russo | AutoIt | 2 | 18-12-2009 10:41 | |
кол-во файлов в папке | rivera | Microsoft Windows NT/2000/2003 | 3 | 29-06-2006 09:38 | |
максимальное кол-во файлов на Cd-ROMе | Dr Mad | Хочу все знать | 1 | 05-09-2005 06:19 |
|