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

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Удаление файлов меньше определенного размера

Пользователь


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

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


Нужен простенький скриптик.. Есть папка, допустим с:\papka, нужно чтобы скрипт удалял в ней все файлы меньшие по размеру чем 9кб. Плюс, если это возможно удалял все файлы в данной папке, независимо от размера, дата создания которых старше чем 6 дней от текущей даты.
И второй скрипт нужен, он тоже простой. копировать все файлы из папки c:\papka в папку c:\papka2
Вообще, можно их объединить, чтобы первым действием скрипт удалял все файлы меньше 9кб по размеру(и старше 6 дней созданные), а затем копировал оставшиеся в папку2

Заранее огромное спасибо

Отправлено: 15:37, 12-02-2011

 

Ветеран


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

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


SendMessage,
Та же мысль возникла : )
Посему и попросил автора показать вывод скрипта

Отправлено: 20:48, 14-02-2011 | #11



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

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


Пользователь


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

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


Да да, все верно, я перед проверкой копирую файлы в c:\papka и у каждого файла соотв. два параметра: первый "дата создания", второй "дата изменения". Соответственно первый остается неизменным, можно ли именно его брать за основу, т.е. если дата создания файла более 6 дней от текущей - файл удалять..

Отправлено: 22:57, 14-02-2011 | #12


Ветеран


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

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


XXXp,
Вывод скрипта покажете?
PS: Мой скрипт работает, можете его применять в "продуктиве"

Последний раз редактировалось Ivan Bardeen, 14-02-2011 в 23:59.

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

Отправлено: 23:51, 14-02-2011 | #13


Старожил


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

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


Неизменной остается при копировании дата модификации.
Если это то, что Вам нужно, замените в скрипте строку
Код: Выделить весь код
Datefile = objfile.DateCreated
на
Код: Выделить весь код
Datefile = objfile.DateLastModified
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:06, 15-02-2011 | #14


Пользователь


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

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


Вот! Теперь все работает для моего случая, видимо я просто неправильно выразился! Спасибо большое всем Вам за помощь!

Отправлено: 12:29, 16-02-2011 | #15


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


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

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


А как сделать, чтобы этот скрипт удалял файлы и в подпапках?

Отправлено: 09:14, 16-12-2011 | #16


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


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

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


Здравствуйте, уважаемые форумчане.
Хотел с помощью данного скрипта, сделать, чтобы удалялись файлы размером более 500 метров.
И чтобы файлы также искались и в под-папках. Помогите. Я в этом не особо шарю сильно не пинайте..
Вот что я наковырял:

Folder = "c:\1\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Folder)

If objfile.Size > 512000 Then
objfile.Delete(TRUE)
End If
End If
Next

Отправлено: 11:04, 03-05-2012 | #17


Старожил


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

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


Leem111, используйте функцию, вызываемую рекурсивно. Пример:
Код: Выделить весь код
Public objFSO
Folder = "c:\1\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(Folder) Then
        Call ClrFolder(Folder)
        WScript.Echo "Готово."
Else
        WScript.Echo "Не найден путь " & Folder
End If
WScript.Quit 0

Function ClrFolder(strFolder)
Dim objFolder, objFile, objSubFolder
Set objFolder = objFSO.GetFolder(strFolder)
For Each objFile In objFolder.Files
        If objFile.Size > 512000 Then objFile.Delete TRUE
Next
For Each objSubFolder In objFolder.SubFolders
        Call ClrFolder(objSubFolder.Path)
Next
End Function
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:36, 03-05-2012 | #18


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата Leem111:
более 500 метров »
Цитата DmitriiV:
objFile.Size > 512000 »
DmitriiV, нужно 524288000

Отправлено: 13:08, 03-05-2012 | #19


Старожил


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

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


Цитата El Sanchez:
нужно 524288000 »
Для сути решения это совершенно неважно. Поэтому было оставлено значение, использованное в заготовке автора темы.

Отправлено: 15:12, 03-05-2012 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Запретить сохранение файлов определенного размера в GPO viktor.chebayevskiy Windows Server 2008/2008 R2 1 20-09-2010 11:27
Log/Monitoring - Запрет на запись файлов определенного типа и размера andrei.ru Сетевые технологии 1 20-11-2009 11:53
[решено] Сжатие MP3 коллекции до определенного размера 700 Мб. Sionnain Видео и аудио: обработка и кодирование 6 29-08-2009 07:44
[решено] Удаление всех файлов определенного формата Grub Хочу все знать 4 24-03-2006 12:27
Размера меньше пользы больше d0c Microsoft Windows 95/98/Me (архив) 3 07-11-2002 19:14




 
Переход