powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBScript для извлечения Zip архива
16 сообщений из 16, страница 1 из 1
VBScript для извлечения Zip архива
    #37101333
Lomatublas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Есть скрипт на 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
VBScript для извлечения Zip архива
    #37101371
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lomatublas,

попробуйте в CopyHere добавить флаг 16.
Подробней вот здесь
VBScript Scripting Techniques: Work with ZIP Files
System.Shell.Folder.copyHere Method
...
Рейтинг: 0 / 0
VBScript для извлечения Zip архива
    #37101381
Lomatublas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,
можно подробней, а то я совсем не шарю в скриптах, и на сайтах ничего не понял)
...
Рейтинг: 0 / 0
VBScript для извлечения Zip архива
    #37101386
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
VBScript для извлечения Zip архива
    #37101390
Lomatublas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot,

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

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

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

а если вписать через запятую 4 то и окна с копированием не будет появляться?
...
Рейтинг: 0 / 0
VBScript для извлечения Zip архива
    #37101472
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опции надо суммировать
т.е чтобы переписывалось без подтверждения ((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
VBScript для извлечения Zip архива
    #37101533
Lomatublas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot,

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

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

Дома на Windows Seven скрипт отработал на ура..., без сучка и задоринки.
Мой вариант отличается только путями, но если у кого TV Beholder прикладываю свой вариант.
Еще раз спасибо.
...
Рейтинг: 0 / 0
VBScript для извлечения Zip архива
    #37103131
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
VBScript для извлечения Zip архива
    #37103421
Lomatublas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...у меня кстати тоже с параметром 20 и диалог и запрос о замещении.
...
Рейтинг: 0 / 0
VBScript для извлечения Zip архива
    #37108091
Lomatublas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
люди, поставил этот скрипт на автозагрузку, и время от времени все же появляется запрос о копировании... что за трабл? какието активХ не успевают вовремя загрузится? ОС: Windows 7 (7600) (обновляется с нета)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBScript для извлечения Zip архива
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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