PDA

Показать полную графическую версию : Дополнение к скрипту


DMBS
21-05-2014, 10:47
Здравствуйте, имеется хороший динамический скрипт с HAbra , хотелось бы добавить еще пару штрихов.
1)Каким образом можно добавить Время к имени архива, в данном скрипте добавляется только дата:
ZipFile = OutputFolder & Date & "_wwroot_backup.zip" ' Как назвать ====================|]
Пробовал дописывать с "& Time" и различными вариациями, а также с помощью определения переменной Time, ничего не помогло... время упорно не хочет отображаться в имени архива.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2) При создании архива штатным архиватором Windows вылазит ошибка "Windows не удалось добавить один или несколько пустых каталогов в сжатую папку" Каким образом
есть возможность обойти и скрыть данную ошибку? Люди пишут , что это баг Windows архиватора. "On error resume next" ситуацию не спасает. Либо как я понимаю использовать для архивирования 7zip либо Winrar? (хотелось бы унифицировать без доп.по штатными средствами). Заранее спасибо за помощь
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


'================= Комментировать блок если вариант с аргументами =============|
InputFolder = "c:\inetpub\wwwroot" ' Какую папку архивировать ==========================|
OutputFolder = "l:\Backup\" ' Путь куда архивировать ===========================|
ZipFile = OutputFolder & Date & "_wwroot_backup.zip" ' Как назвать ====================|
Life = "-10" ' Срок жизни файлов в папке архивирования =======================|
'==============================================================================|

CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)

Do Until objShell.NameSpace(ZipFile).Items.Count = objShell.NameSpace(InputFolder).Items.Count
WScript.Sleep 500 ' Arbitrary polling delay
Loop

'Удаление в папке всех файлов старше Life дней.
Set FSO = CreateObject("Scripting.FileSystemObject")
'Выставляем количество дней, старше которых будет производится удаление файлов.
OldDate = DateAdd("d", Life , date)
'Указываем директорию в которой удаляем старые файлы.
Set Folder = FSO.GetFolder(OutputFolder)
Set FC = Folder.Files
For Each F1 in FC
If F1.DateLastModified < OldDate Then
F1.Delete
End If
Next

Iska
21-05-2014, 15:25
Пробовал дописывать с "& Time" и различными вариациями »
Разделитель у компонент времени — двоеточие? Замените его на разрешённый символ, например:
… & Replace(Time(), ":", "-") &

Либо как я понимаю использовать для архивирования 7zip либо Winrar? (хотелось бы унифицировать без доп.по штатными средствами). »
Либо. Унифицировать — значит установить 7-zip посредством групповой политики.

DMBS
22-05-2014, 10:48
Сделал вот так:


ZipFile = OutputFolder & Year(Date) & "-" & Month(Date) & "-" & Day(date) & " " & Hour(Time) & "-" & Minute(time) & "-" & Second(time) & "_wwroot_backup.zip" '|[/B]


Формат вывода Даты и времени стал такой: 2014-5-22 10-39-50_wwroot_backup.zip

Как от ошибки архивирования избавиться не совсем понял.. Нужно переименовать папку без символа "_" ?

Iska
23-05-2014, 01:41
Речь была про двоеточие:
Q: Какие символы нельзя использовать в имени файла?

A: В имени файла нельзя использовать любой из следующих символов:
\ / ? : * " > < |

Имена и расширения имен файлов: вопросы и ответы - Справка Microsoft Windows (http://windows.microsoft.com/ru-ru/windows/file-names-extensions-faq#1TC=windows-7). Или более канонично: Naming Files, Paths, and Namespaces (Windows): Naming Conventions (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#naming_conventions).

Как от ошибки архивирования избавиться »
Я же написал — использовать 7-Zip.




© OSzone.net 2001-2012