Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBScript для извлечения Zip архива / 16 сообщений из 16, страница 1 из 1
07.02.2011, 06:55
    #37101333
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
Доброго времени суток! Есть скрипт на VBScript для обновления телепрограммы к приложению DVBLink IP-TV, который сначала скачивает архив с сайта http://www.sinor.ru, извлекает файл, и удаляет за собой мусор.

Уважаемые знатоки vbs поправьте скрипт так, чтобы при извлечении файлов из архива он заменял/пропускал старые файлы без предупреждения. Спасибо!

Вот скрипт:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
set a=createobject("msxml2.xmlhttp")
set b=createobject("adodb.stream")
a.open"get","http://www.sinor.ru/~xmltv/files/get.php?file=stc.xml.zip", 0 
a.send
b.open
b.type= 1 
b.write a.responsebody
b.savetofile"C:\Program Files\DVBLogic\DVBLink2\xmltv\TV.zip"


ZipFile="C:\Program Files\DVBLogic\DVBLink2\xmltv\TV.zip"
ExtractTo="C:\Program Files\DVBLogic\DVBLink2\xmltv\"
Set fso = CreateObject("Scripting.FileSystemObject") 
If NOT fso.FolderExists(ExtractTo) Then 
   fso.CreateFolder(ExtractTo) 
End If 
set objShell = CreateObject("Shell.Application") 
set FilesInZip=objShell.NameSpace(ZipFile).items 
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip) 
Set fso = Nothing 
Set objShell = Nothing 


Dim objFileSystem, objFile 
Set objFileSystem = CreateObject ("Scripting.FileSystemObject") 
Set objFile = objFileSystem.GetFile ("C:\Program Files\DVBLogic\DVBLink2\xmltv\TV.zip") 
objFile.Delete
...
Рейтинг: 0 / 0
07.02.2011, 08:32
    #37101371
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
Lomatublas,

попробуйте в CopyHere добавить флаг 16.
Подробней вот здесь
VBScript Scripting Techniques: Work with ZIP Files
System.Shell.Folder.copyHere Method
...
Рейтинг: 0 / 0
07.02.2011, 08:36
    #37101381
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
big-duke,
можно подробней, а то я совсем не шарю в скриптах, и на сайтах ничего не понял)
...
Рейтинг: 0 / 0
07.02.2011, 08:39
    #37101386
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
Код: plaintext
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip,  16 ) 
?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
CopyHere(
  vItem,
  [ vOptions ]
)
vOptions [optional]
Type: Variant

Options for the copy operation. This value can be zero or a combination of the following values. These values are based upon flags defined for use with the fFlags member of the C++ SHFILEOPSTRUCT structure. These flags are not defined as such for Visual Basic, VBScript, or JScript, so you must define them yourself or use their numeric equivalents.

( 4 )
Do not display a progress dialog box.
( 8 )
Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.
( 16 )
Respond with "Yes to All" for any dialog box that is displayed.
( 64 )
Preserve undo information, if possible.
( 128 )
Perform the operation on files only if a wildcard file name (*.*) is specified.
( 256 )
Display a progress dialog box but do not show the file names.
( 512 )
Do not confirm the creation of a new directory if the operation requires one to be created.
( 1024 )
Do not display a user interface if an error occurs.
( 2048 )
Version  4 . 71 . Do not copy the security attributes of the file.
( 4096 )
Only operate in the local directory. Do not operate recursively into subdirectories.
( 8192 )
Version  5 . 0 . Do not copy connected files as a group. Only copy the specified files.
...
Рейтинг: 0 / 0
07.02.2011, 08:44
    #37101390
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
HandKot,

да я так уже пробывал дописывать, ошибка.
...
Рейтинг: 0 / 0
07.02.2011, 09:00
    #37101417
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
и какая?
...
Рейтинг: 0 / 0
07.02.2011, 09:05
    #37101421
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
HandKot,

недопустимо использование скобок при вызове процедуры SUB
код: 800A0414
...
Рейтинг: 0 / 0
07.02.2011, 09:22
    #37101439
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
это уже лучше, по сравнению
авторда я так уже пробывал дописывать, ошибка
Код: plaintext
objShell.NameSpace(ExtractTo).CopyHere FilesInZip,  16 
?
...
Рейтинг: 0 / 0
07.02.2011, 09:31
    #37101451
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
HandKot,

Большое спасибо! Все работает! )
...
Рейтинг: 0 / 0
07.02.2011, 09:36
    #37101461
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
Lomatublas,

а если вписать через запятую 4 то и окна с копированием не будет появляться?
...
Рейтинг: 0 / 0
07.02.2011, 09:43
    #37101472
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
опции надо суммировать
т.е чтобы переписывалось без подтверждения ((16)Respond with "Yes to All" for any dialog box that is displayed .) и не появлялось окно ((4)Do not display a progress dialog box .) надо сложить их значения 16+4 = 20 и получаем
Код: plaintext
objShell.NameSpace(ExtractTo).CopyHere FilesInZip,  20 
и так далее и тому подобное
...
Рейтинг: 0 / 0
07.02.2011, 10:11
    #37101533
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
HandKot,

спасибо!
...
Рейтинг: 0 / 0
07.02.2011, 20:32
    #37103116
User67568744
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
Спасибо большое, у меня Beholder 403, приспособил скрипт для обновления TV базы каналов

На работе пробовал на Windows XP SP3 в домене, скрипт работает, но дополнительный параметр (20)
не обрабатывает, все равно окно открывает и при перезаписи вопросы задает.

Дома на Windows Seven скрипт отработал на ура..., без сучка и задоринки.
Мой вариант отличается только путями, но если у кого TV Beholder прикладываю свой вариант.
Еще раз спасибо.
...
Рейтинг: 0 / 0
07.02.2011, 20:45
    #37103131
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
User67568744,

msdnIntOptions 16 does not work
The prompt whether to overwrite files in destination folder cannot be automated with flag 16 (yes to all) as described here. Apparently, according to internet sources, this is a bug.
Возможно это баг.
...
Рейтинг: 0 / 0
08.02.2011, 08:34
    #37103421
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
...у меня кстати тоже с параметром 20 и диалог и запрос о замещении.
...
Рейтинг: 0 / 0
10.02.2011, 06:32
    #37108091
Lomatublas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBScript для извлечения Zip архива
люди, поставил этот скрипт на автозагрузку, и время от времени все же появляется запрос о копировании... что за трабл? какието активХ не успевают вовремя загрузится? ОС: Windows 7 (7600) (обновляется с нета)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBScript для извлечения Zip архива / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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