Здравствуйте, имеется хороший динамический скрипт с 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
VBS/WSH/JS - Дополнение к скрипту
-
Iska
Re: VBS/WSH/JS - Дополнение к скрипту
Цитата DMBS:
Пробовал дописывать с "& Time" и различными вариациями
Разделитель у компонент времени — двоеточие? Замените его на разрешённый символ, например:
Код:
Цитата DMBS:
Либо как я понимаю использовать для архивирования 7zip либо Winrar? (хотелось бы унифицировать без доп.по штатными средствами).
Либо. Унифицировать — значит установить 7-zip посредством групповой политики.
Пробовал дописывать с "& Time" и различными вариациями
VBS/WSH/JS - Дополнение к скрипту
Разделитель у компонент времени — двоеточие? Замените его на разрешённый символ, например:
Код:
Код: Выделить всё
… & Replace(Time(), ":", "-") &Цитата DMBS:
Либо как я понимаю использовать для архивирования 7zip либо Winrar? (хотелось бы унифицировать без доп.по штатными средствами).
VBS/WSH/JS - Дополнение к скрипту
Либо. Унифицировать — значит установить 7-zip посредством групповой политики.
-
DMBS
Re: VBS/WSH/JS - Дополнение к скрипту
Сделал вот так:
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
Как от ошибки архивирования избавиться не совсем понял.. Нужно переименовать папку без символа "_" ?
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
Re: VBS/WSH/JS - Дополнение к скрипту
Речь была про двоеточие:
Цитата:
Q: Какие символы нельзя использовать в имени файла?
A: В имени файла нельзя использовать любой из следующих символов:
Код:
Цитата DMBS:
Как от ошибки архивирования избавиться
Я же написал — использовать 7-Zip.
Цитата:
Q: Какие символы нельзя использовать в имени файла?
A: В имени файла нельзя использовать любой из следующих символов:
Код:
Код: Выделить всё
\ / ? : * " > < |Имена и расширения имен файлов: вопросы и ответы - Справка Microsoft Windows
. Или более канонично: Naming Files, Paths, and Namespaces (Windows): Naming Conventions
.Цитата DMBS:
Как от ошибки архивирования избавиться
VBS/WSH/JS - Дополнение к скрипту
Я же написал — использовать 7-Zip.