VBS/WSH/JS - Дополнение к скрипту

Ответить
Аватара пользователя
DMBS

VBS/WSH/JS - Дополнение к скрипту

Сообщение DMBS »

Здравствуйте, имеется хороший динамический скрипт с 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

Re: VBS/WSH/JS - Дополнение к скрипту

Сообщение Iska »

Цитата DMBS:



Пробовал дописывать с "& Time" и различными вариациями
VBS/WSH/JS - Дополнение к скрипту




Разделитель у компонент времени — двоеточие? Замените его на разрешённый символ, например:



Код:

Код: Выделить всё

… & Replace(Time(), ":", "-") &


Цитата DMBS:



Либо как я понимаю использовать для архивирования 7zip либо Winrar? (хотелось бы унифицировать без доп.по штатными средствами).
VBS/WSH/JS - Дополнение к скрипту




Либо. Унифицировать — значит установить 7-zip посредством групповой политики.
Аватара пользователя
DMBS

Re: VBS/WSH/JS - Дополнение к скрипту

Сообщение DMBS »

Сделал вот так:





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 - Дополнение к скрипту

Сообщение Iska »

Речь была про двоеточие:


Цитата:



Q: Какие символы нельзя использовать в имени файла?



A: В имени файла нельзя использовать любой из следующих символов:



Код:

Код: Выделить всё

\ / ? : * " > < |





Имена и расширения имен файлов: вопросы и ответы - Справка Microsoft Windows
. Или более канонично:
Naming Files, Paths, and Namespaces (Windows): Naming Conventions
.




Цитата DMBS:



Как от ошибки архивирования избавиться
VBS/WSH/JS - Дополнение к скрипту




Я же написал — использовать 7-Zip.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»