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

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

Ответить
Настройки темы
Любой язык - Удаление файлов старше 5 дней кроме указанного по имени.

Аватара для Joni

Старожил


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

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


Мужики где найти или как написать? в скриптах полный ноль (((
Помогите пожалуйста.
Нужно так чтоб срабатывал фоново, никаких кнопок о продолжении итд. запустился из задания сделал свое дело и закрылся, Заранее спасибо! Запускать его буду из программы acronis функцией Pre/Post Command

-------
230451837 ICQ


Отправлено: 13:47, 29-06-2011

 

Googler


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

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


Цитата Joni:
Удаление файлов старше 5 дней кроме указанного по имени »
удалять где? в конкретной (жестко заданной) папке или в каталоге со скриптом? с подкаталогами или без?

Отправлено: 04:49, 30-06-2011 | #2



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

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


Аватара для Ins_16

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


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

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


Using Batch Files in Acronis True Image вся операция подробно описана если туго с английским юзаем Google translate.
BAT manage files описаны операции с файлами с помощью скрипта, имеется пример.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:14, 30-06-2011 | #3


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


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

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


path = " "(папка из которой удаляешь файлы)
killdate = date() -5

arFiles = Array()
set fso = createobject("scripting.filesystemobject")

SelectFiles path, killdate, arFiles, true

nDeleted = 0
for n = 0 to ubound(arFiles)
on error resume next
arFiles(n).delete true
if err.number <> 0 then
wscript.echo "Unable to delete: " & arFiles(n).path
else
nDeleted = nDeleted + 1
end if
on error goto 0
next




sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
on error resume next
set folder = fso.getfolder(sPath)
set files = folder.files

for each file in files
dtlastmodified = null
on error resume Next
dtlastmodified = file.datelastmodified
on error goto 0
if not isnull(dtlastmodified) Then
if dtlastmodified < vKillDate then
count = ubound(arFilesToKill) + 1
redim preserve arFilesToKill(count)
set arFilesToKill(count) = file
end if
end if
next

if bIncludeSubFolders then
for each fldr in folder.subfolders
SelectFiles fldr.path,vKillDate,arFilesToKill,true
next
end if
end sub


ток надо доработать- чтоб нужные файлы оставлял

Отправлено: 16:24, 02-03-2012 | #4


Аватара для alek2012

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


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

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


Отлично работает скрипт.
Подскажите пожалуйста как в указанной папке удалять не только файлы, но и все каталоги которые в этой папке старше заданной даты?

Отправлено: 09:24, 11-07-2012 | #5


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


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

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


Разрешите поделиться:

Код: Выделить весь код
On Error Resume Next

'путь к общей папке
CommonPath = "E:\MULTIMEDIA"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Common = FSO.GetFolder(CommonPath)

'удаляем файлы
Set CommonItems = Common.Files
For Each i in CommonItems
If DateDiff("D", i.DateCreated, Now) > 10 Then
i.delete
End If
Next

'удаляем папки
Set CommonItems = Common.SubFolders
For Each i in CommonItems
If DateDiff("D", i.DateCreated, Now) > 10 Then
i.delete
End If
Next
Цифра 10 в указанном примере отвечает за количество дней, в течении которых файл не будет удаляться, с даты его создания.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:30, 11-07-2012 | #6


Аватара для alek2012

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


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

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


2 trampic Мега! Благодарю! То что нужно, простенько и понятно!

уже в планировщике)))

Отправлено: 11:18, 11-07-2012 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней ksv_sergo Скриптовые языки администрирования Windows 14 24-03-2016 15:02
[решено] Автоочистка файлов, старше 5 дней. Universal_gr Программное обеспечение Linux и FreeBSD 1 01-10-2010 01:12
CMD/BAT - Удаление старых файлов по имени файлов Bиктор Скриптовые языки администрирования Windows 1 19-04-2010 03:37
Удаление файлов из списка указанного в txt blacks2 Вебмастеру 28 02-09-2009 20:09
Прочее - удаление файлов старше 10 дней admin666 Общий по Linux 1 23-07-2009 19:09




 
Переход