Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Автоматизация удаления файлов с помощью пакетного файла / 25 сообщений из 28, страница 1 из 2
02.11.2006, 10:31
    #34099799
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Здравствуйте!
Возникла такая проблема.
Я полный ноль в написании .bat файлов, но необходимо автоматизировать следующую задачу.
Каждый день создаётся новый архив данных. Срок хранения архива 7 дней. Поэтому необходимо, чтобы каждый день удалялись архивы недельной давности. Как это описать. Посмотрела команду Del, а там ничего такого нет.
...
Рейтинг: 0 / 0
02.11.2006, 10:33
    #34099809
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
наример так:
Код: plaintext
1.
2.
3.
4.
5.
del arch7.zip
ren arch6.zip arch7.zip
ren arch5.zip arch6.zip
.... и т.д.
pkzip -add arch1.zip

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.11.2006, 11:05
    #34099972
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Зато там есть команда for и if
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.11.2006, 11:05
    #34099976
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
я бы написал js файл для этого
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
03.11.2006, 11:11
    #34103300
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Dimitry Sibiryakov
наример так:
Код: plaintext
1.
2.
3.
4.
5.
del arch7.zip
ren arch6.zip arch7.zip
ren arch5.zip arch6.zip
.... и т.д.
pkzip -add arch1.zip
Posted via ActualForum NNTP Server 1.3

Спасибо, идея хорошая. Но как раз проблема в названиях файлов. По регламенту, они обязаны создаваться в след. формате: например, exp_full_06_11_1, т.е. файл создан 1 ноября 2006 года. Сегодня будет создан новый как exp_full_06_11_2. Т.е. необходимо обработать название файлы, а именно его дату и сравнить с системной даты. Вычислить разницу и удалить файл недельной давности. Т.е. это моё представление алгоритма. Может, можно и по-другому как-то? А Java скрипты я писать не умею.
...
Рейтинг: 0 / 0
03.11.2006, 11:13
    #34103311
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Т.е. exp_full_06_11_1.rar
...
Рейтинг: 0 / 0
03.11.2006, 12:43
    #34103776
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Может, можно как-то получить доступ к свойству файла - дата создания, и как-нибудь обрабатывать её?
...
Рейтинг: 0 / 0
05.11.2006, 20:13
    #34106475
root_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
KsuhaМожет, можно как-то получить доступ к свойству файла - дата создания, и как-нибудь обрабатывать её?

Можно воспользоваться VBS, задача похожая - удаляеет самые старые файлы из указанного какталога (не смотрит подкаталоги) если размер превышает указанный лимит в байтах, работает с названиями файлов вида dd.mm.yyyy (например 10.10.2006)
создать файл название.vbs и поместить код, который можно переработать и лишнее убрать:

DeleteFielesFromDir "C:\distr\папка1", "\\distr\\папка1", 55000000000, "."

Sub DeleteFielesFromDir(CurrentPatch, CurrentQuery, FolgerSize, LocalOrRemoteComputer)

Const OverwriteExisting = True
Const adVarChar = 200
Const MaxCharacters = 255

Set DataList = CreateObject("ADOR.Recordset")
DataList.Fields.Append "CreateDate", adVarChar, MaxCharacters
DataList.Fields.Append "CurrentPatch", adVarChar, MaxCharacters
DataList.Fields.Append "Sort", adVarChar, MaxCharacters
DataList.Open

Set objFSO = CreateObject("Scripting.FileSystemObject")
strComputer = LocalOrRemoteComputer


Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")


Set colFiles = objWMIService. _
ExecQuery("Select * from CIM_DataFile where Path ='\\"& CurrentQuery &"\\'")

Set objFolder = objFSO.GetFolder(CurrentPatch)

if objFolder.Size > 0 then
For Each objFile in colFiles

if LocalOrRemoteComputer <> "." then
objPath = objFile.Name
objPath = Replace(objPath, "c:\", "\\" & LocalOrRemoteComputer & "\")
Set objFile = objFSO.GetFile(objPath)
else Set objFile = objFSO.GetFile(objFile.Name)
End If

DataList.AddNew
DataList("CreateDate") = objFile.DateCreated
DataList("CurrentPatch") = objFile.Path
Str = objFile.DateCreated

Str = Replace(Str, ":", "")

Str_Split = Split(Str, " ")

Str_Beg = Str_Split(0)
Str_Date = Split(Str_Beg, ".")
Str_Beg = Str_Date(2)&Str_Date(1)&Str_Date(0)

Str_End = Str_Split(1)
if len(Str_Split(1)) = 5 then
Str_End = "0" & Str_End
end if

Str = Str_Beg & Str_End

DataList("Sort") = Str
DataList.Update
Next

DataList.MoveFirst
DataList.Update
DataList.Sort = "Sort"
DataList.MoveFirst
DataList.Update

Do Until DataList.EOF

if objFolder.Size > FolgerSize then
set objFile = objFSO.GetFile(DataList.Fields.Item("CurrentPatch"))
objFSO.DeleteFile(objFile.Path)
end if
DataList.MoveNext
Loop

End If
DataList.Close

End Sub

Ссылка в помощь http://www.microsoft.com/technet/scriptcenter/default.mspx
...
Рейтинг: 0 / 0
05.11.2006, 23:12
    #34106585
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
KsuhaЗдравствуйте!
Возникла такая проблема.
Я полный ноль в написании .bat файлов, но необходимо автоматизировать следующую задачу.
Каждый день создаётся новый архив данных. Срок хранения архива 7 дней. Поэтому необходимо, чтобы каждый день удалялись архивы недельной давности. Как это описать. Посмотрела команду Del, а там ничего такого нет.Хе. Скажу Вам по секрету, что Оракл, помоему Ваш случай, умеет это делать сам (RMAN) и SQL Server тоже (Maintence plan).
...
Рейтинг: 0 / 0
05.11.2006, 23:34
    #34106599
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
В команде Delete можно использовать подстановочные символы "*", т.е. команда будет такая:
Код: plaintext
Del путь\exp_full*.*
Например
Код: plaintext
Del c:\temp\dayfiles\exp_full*.*
...
Рейтинг: 0 / 0
07.11.2006, 10:58
    #34108404
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
root_sql KsuhaМожет, можно как-то получить доступ к свойству файла - дата создания, и как-нибудь обрабатывать её?

Можно воспользоваться VBS, задача похожая - удаляеет самые старые файлы из указанного какталога (не смотрит подкаталоги) если размер превышает указанный лимит в байтах, работает с названиями файлов вида dd.mm.yyyy (например 10.10.2006)
создать файл название.vbs и поместить код, который можно переработать и лишнее убрать:...



О, Мама Мия! Вы хотите, чтобы меня кондрашка хватила??? Я поняла одно, простого ничего придумать нельзя. Ладно, буду ручками делать. :((
...
Рейтинг: 0 / 0
07.11.2006, 10:59
    #34108410
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Relic Hunter KsuhaЗдравствуйте!
Возникла такая проблема.
Я полный ноль в написании .bat файлов, но необходимо автоматизировать следующую задачу.
Каждый день создаётся новый архив данных. Срок хранения архива 7 дней. Поэтому необходимо, чтобы каждый день удалялись архивы недельной давности. Как это описать. Посмотрела команду Del, а там ничего такого нет.Хе. Скажу Вам по секрету, что Оракл, помоему Ваш случай, умеет это делать сам (RMAN) и SQL Server тоже (Maintence plan).

Да, это действительно Оракл. А как Вы догадались???
...
Рейтинг: 0 / 0
07.11.2006, 11:15
    #34108465
Biz©
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
KsuhaДа, это действительно Оракл. А как Вы догадались???
а этот архив - не резервная ли копия базы ? ;)
...
Рейтинг: 0 / 0
07.11.2006, 16:27
    #34109640
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Biz© KsuhaДа, это действительно Оракл. А как Вы догадались???
а этот архив - не резервная ли копия базы ? ;)
ДА, это копия. А что, Вы хотите получить доступ?
...
Рейтинг: 0 / 0
07.11.2006, 17:40
    #34109972
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Я специально для этих целей написал утилитку - расшириненние для команды dir, которая окоромя маски понимает также и даты. Соответсвенно в бат фале можно получить список файлов, дата модификации которых раньше чем семь дней назад. Потом файлы можно удалить согласно списка.
все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
07.11.2006, 20:51
    #34110367
Biz©
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Ksuha Biz© KsuhaДа, это действительно Оракл. А как Вы догадались???
а этот архив - не резервная ли копия базы ? ;)
ДА, это копия. А что, Вы хотите получить доступ?
ну дык пользуйте штатные средства ... вам уже указали на RMAN и его возможности ...
...
Рейтинг: 0 / 0
09.11.2006, 14:30
    #34116163
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Ggg_oldЯ специально для этих целей написал утилитку - расшириненние для команды dir, которая окоромя маски понимает также и даты. Соответсвенно в бат фале можно получить список файлов, дата модификации которых раньше чем семь дней назад. Потом файлы можно удалить согласно списка.
все наши на www.corba.kubsu.ru
Дайте точную ссылку, пожалуйста, пожалуйста.
...
Рейтинг: 0 / 0
09.11.2006, 14:48
    #34116267
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
пример работы с коллекцией files

var fso,f,f1,fc,s;
fso=WScript.CreateObject("Scripting.FileSystemObject");
f=fso.GetFolder("C:\\");
fc=new Enumerator(f.files);
s="";
for(;!fc.atEnd();fc.moveNext())
{ s+=fc.item().":"+fc.item().DateCreated;
s+="\n";
}
WScript.Echo(s);
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
09.11.2006, 14:53
    #34116310
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var fso,f,f1,fc,s;
fso=WScript.CreateObject("Scripting.FileSystemObject");
f=fso.GetFolder("C:\\");
fc=new Enumerator(f.files);
s="";
for(;!fc.atEnd();fc.moveNext())
{
s+=fc.item()+":"+fc.item().DateCreated;
s+="\n";
}
WScript.Echo(s);
это пример работы с датой в js
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
09.11.2006, 15:14
    #34116454
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Код: plaintext
1.
2.
3.
4.
5.
dim n, zapusk
n = WeekDay( date() )  ' номер дня недели
zapusk = "pkzip.exe -a ARXIV" & n & ".zip"
msgbox zapusk
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run zapusk

Этот текст сохрани в файле с расширением VBS
...
Рейтинг: 0 / 0
13.11.2006, 13:09
    #34123682
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
А существует ли какая-либо среда программирования для VBScript? Чтобы я могла набрать команду, нажать F1 и мне бы выдалась бы справка по этой команде или объекту? Чтобы там был Help? А то когда это дело пишешь в текстовом файле, потом компилируешь, и если он выдаёт ошибку, то узнать об этой ошибке что-либо, либо почитать справку нельзя.
...
Рейтинг: 0 / 0
13.11.2006, 13:12
    #34123698
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
я не нашел, правда есть отладчик сценариев, но я обычно пишу скрипты на
javaScript в Dreamwer
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
13.11.2006, 15:17
    #34124199
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Green2
я не нашел, правда есть отладчик сценариев, но я обычно пишу скрипты на
javaScript в Dreamwer
--



Posted via ActualForum NNTP Server 1.3
Но должно же быть хоть что-то. А Яву я просто хуже понимаю.
...
Рейтинг: 0 / 0
13.11.2006, 15:19
    #34124206
Ksuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Green2
пример работы с коллекцией files

var fso,f,f1,fc,s;
fso=WScript.CreateObject("Scripting.FileSystemObject");
f=fso.GetFolder("C:\\");
fc=new Enumerator(f.files);
s="";
for(;!fc.atEnd();fc.moveNext())
{ s+=fc.item().":"+fc.item().DateCreated;
s+="\n";
}
WScript.Echo(s);
--



Posted via ActualForum NNTP Server 1.3
А у тебя нет какой-либо документации по работе с FSO в Яве?
...
Рейтинг: 0 / 0
14.11.2006, 12:12
    #34126527
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматизация удаления файлов с помощью пакетного файла
Есть раздел в MSDN и кроме того документацию можно скачать отдельно.
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Автоматизация удаления файлов с помощью пакетного файла / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]