Как удалить папки по правилу?
1.
Гоги (05.02.2010 / 13:07)
Проблема такая: есть много папок с файлами на ПК, но необходимо мне те папки, где количество файлов меньше 3ех удалить.
Существует ли такая утилита для windows?
И еще вопрос: можно ли реализовать такой скрипт на php для запуска на локалке? Как я понимаю он не сложный должен получится. Поправте если я ошибаюсь.
2.
Игорь (05.02.2010 / 23:03)
и зачем тебе это надо не понятно совсем
3.
Андрей (05.02.2010 / 23:48)
можно ли реализовать такой скрипт на php для запуска на локалке?
канешна можно
вот на пхп су примерная часть такого скрипта:
<?PHP
//Каталог, относительно скрипта
$path = 'folder';
$d=@opendir($path);
if(!$d) die("Каталог ".$path." не найден!");
$s=0;
while($e=readdir($d)){
if(is_file($path."/".$e)) $s++;
}
echo "В каталоге ".$path." найдено ".$s." файлов";
?>
в цикле проверяеш каждую папку на колво файлов в ней... и обрабатываеш нужным условием... саму логическую схему знаю но реализовать на php хз как
4.
Андрей (06.02.2010 / 01:06)
в начале для удобства с помощью тотал конандер изменяеш имена всех папок по условию... например по числам от 1 и до хз чево... тама счетчик есть) и теперь сам скрипт:
<?php
//путь к папке с папками
$dir = 'folder';
//заносим в массив названия всех папок
$arr = scandir($dir);
//присваиваем некой переменной значение количества элементов в массиве
$cnt = count($arr);
//запускаем цикл
for ($i = 1; $i < $cnt; $i++) {
$d = $i;
if ($dh = opendir($d)) {
while (false !== ($file = readdir($dh))) {
if(is_file($i."/".$file)) $s++;
}
//условие на количество файлов в папке
if ($s<=3) {
$prosto = 1;
while (false !== ($file = readdir($dh))) {
$delfile = $file;
unlink($delfile);
}}
closedir($dh);
}
if($prosto = 1) {
$deldir = $d;
rmdir($deldir);
}
}
echo "Всё ненужное удалено";
?>
5.
Андрей (06.02.2010 / 01:07)
не бейте меня если всё тут совсем нетак
ниразу ничо не писал)))
6.
Гоги (06.02.2010 / 08:24)
2, выкачал ХХХ фотосеты, в некоторых папках мало фото - 2-3шт, такие надо удалить.
Всем спасибо, скрипт заказал. Тему можно закрыть.
URL:
https://visavi.net/topics/5745