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

Компьютерный форум 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 | Цитировать


Вот, VBS скрипт
Код: Выделить весь код
DeathLine = 6
Folder = "c:\papka"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Folder)
Set colFiles = objFolder.Files  

For Each objFile in colFiles
	Datefile = objfile.DateCreated
	DiffDate = DateDiff("d",Datefile,Now)
	WScript.Echo DiffDate
		If DiffDate > DeathLine Then
		objfile.Delete(TRUE)
			Else If objfile.Size < 9216 Then
				objfile.Delete(TRUE)
				Else
				objFSO.CopyFile objFile.Path, "c:\papka2\"	
			End If	
		End If
Next
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:56, 12-02-2011 | #2



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

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


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


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

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


Спасибо!
Только два момента:
1. Почему-то выскакивает окно с цифрой 0 и единственной кнопкой Ок по поводу каждого файла, нельзя ли его не отображать, а то когда 200 файлов не очень удобно
2. Измените пожалуйста копировать на вырезать, я неправильно выразился.

Спасибо!

Отправлено: 23:56, 12-02-2011 | #3


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


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

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


Цитата XXXp:
Только два момента:
1. Почему-то выскакивает окно с цифрой 0 и единственной кнопкой Ок по поводу каждого файла, нельзя ли его не отображать, а то когда 200 файлов не очень удобно
2. Измените пожалуйста копировать на вырезать, я неправильно выразился. »
Код: Выделить весь код
DeathLine = 6
Folder = "c:\papka"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Folder)
Set colFiles = objFolder.Files  

For Each objFile in colFiles
	Datefile = objfile.DateCreated
	DiffDate = DateDiff("d",Datefile,Now)
	' WScript.Echo DiffDate
		If DiffDate > DeathLine Then
		objfile.Delete(TRUE)
			Else If objfile.Size < 9216 Then
				objfile.Delete(TRUE)
				Else
				objFSO.MoveFile objFile.Path, "c:\papka2\"	
			End If	
		End If
Next
Это сообщение посчитали полезным следующие участники:

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


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


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

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


Спасибо, то, что нужно!
Только теперь обнаружил, не удаляет файлы, созданные позднее 6 дней до текущей даты, т.е. переносит их как подходящие под условия...

Последний раз редактировалось XXXp, 13-02-2011 в 02:41.


Отправлено: 02:06, 13-02-2011 | #5


Ветеран


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

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


Цитата XXXp:
Только теперь обнаружил, не удаляет файлы, созданные позднее 6 дней до текущей даты, т.е. переносит их как подходящие под условия... »
хм... скрипт удаляет файл, если он старше 6 дней ИЛИ меньше 9Kb - остальные перемещает.
А что не так?
вот же ваше условие:
Цитата XXXp:
нужно чтобы скрипт удалял в ней все файлы меньшие по размеру чем 9кб. Плюс, если это возможно удалял все файлы в данной папке, независимо от размера, дата создания которых старше чем 6 дней от текущей даты. »

Отправлено: 09:52, 14-02-2011 | #6


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


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

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


Цитата Ivan Bardeen:
А что не так?
вот же ваше условие: »
У меня тоже всё работает.

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


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


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

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


Странно, у меня почему-то не удаляет старше 6-ти дней, только меньше 9кб, сегодня ещё раз попробую вечером, спасибо

Отправлено: 16:24, 14-02-2011 | #8


Ветеран


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

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


XXXp,
покажите вывод скрипта, указав путь к файлу, который старше 6 дней и не удаляется
Код: Выделить весь код
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("путь_к_файлу")
Wscript.Echo "Date created: " & objFile.DateCreated & Vbcrlf & "Date last accessed: " & objFile.DateLastAccessed & vbcrlf & "Date last modified: " & objFile.DateLastModified

Отправлено: 16:50, 14-02-2011 | #9


Старожил


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

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


XXXp, может Вы для проверки скопировали куда-нибудь свою "c:\papka" и там пытаетесь скриптом работать?
При этом действии у всех файлов дата создания изменится на нынешнюю (а дата модификации остается неизменной). И, естественно, скрипту нечего удалять по условию 6 дней.

Отправлено: 19:42, 14-02-2011 | #10



Компьютерный форум 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




 
Переход