Страница 1 из 10
Скрипты для скачивания файлов
Добавлено: Пн июн 04, 2007 17:03
skole
Написал скрипт (VBS), но проблема в том, что в пустой папке от не хочет запускаться, пишет что Индекс выходит за пределы допустимого диапазона... Как избежать этой ошибки в дальнейшем? параметр входного файлов описываю как "%L". Т.е. по идее даже если в папке нет никаких файлов, то скрипт должен выполняться
[mod="Avada"]Прежний заголовок "Вопрос скриптописателям" заменён с учётом последующего обсуждения на более содержательный.[/mod]
Добавлено: Пн июн 04, 2007 17:22
D1P
Не зная, что должен делать скрипт, и каков его код, могу только посоветовать юзать оператор условия if =). В самом деле, если скрипт обрабатывает список переданных файлов, и ему передаётся пустота...
Добавлено: Пн июн 04, 2007 18:34
Batya
Приведи кусок кода со строкой, в которой происходит ошибка.
Добавлено: Вт июн 05, 2007 08:27
skole
Код: Выделить всё
' ==============================================================
' Description: Производит скачивание файлов и сайтов из
' локальных сетей и Интернет, возможна докачка,
' скачиваемый файл можно задавать как в ручную,
' так и из файла с расширением URL
' Installation: Параметры: "%L"(именно в кавычках!)
' Изменить! Exe = """Путь к файлу wget.exe"""
' Author: SkOle
' ==============================================================
Dim FSO, WSH, TempFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Commander_Path = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%")
Exe = (chr(34) & Commander_Path + "\System\Bin\WGet\wget.exe" & chr(34))
File = TempFile.ReadLine
If FSO.GetExtensionName(File) <> "url" Then
URL = InputBox("Введите ссылку для скачивания", "Download Script")
If URL = nil Then
WScript.Quit
Else
WSH.Run Exe & " -r -c -nd --tries=1000000 " & " " & URL
End If
Else
WSH.Run Exe & " -i " & File & " -r -c -nd --tries=1000000"
WScript.Quit
End If
Set WSH = Nothing
Set FSO = Nothing
Set TempFile = Nothing
WScript.Quit
вот весь скрипт целиком... если папка пустая: в ней нет ни файлов, ни каталогов, то получается, что курсор стоит на [..] (переход на каталог выше) и в качестве входного параметра передается null и выскакивает ошибка... как избежать именно вот этого, что если нет никаких файлов под курсором, то скрипт должен выполнять действия с момента
Код: Выделить всё
URL = InputBox("Введите ссылку для скачивания", "Download Script")
Добавлено: Вт июн 05, 2007 13:17
Batya
Я бы сделал примерно так:
Код: Выделить всё
Dim FSO, WSH, F, TempFile, Commander_Path, Exe, Params
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Commander_Path = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%")
Exe = """" & Commander_Path + "\System\Bin\WGet\wget.exe"""
Params = " -r -c -nd --tries=1000000"
If WScript.Arguments.Count > 0 Then
F = WScript.Arguments(0)
If Not FSO.FileExists(F) Then
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit
End If
Set TempFile = FSO.OpenTextFile(F, 1)
Do While Not TempFile.AtEndOfStream
File = TempFile.ReadLine
If LCase(FSO.GetExtensionName(File)) <> "url" Then
URL = InputBox("Файл " & File & " не является URL-ом." & vbNewLine & _
"Введите ссылку для скачивания", "Download Script")
If Len(URL) > 0 Then
WSH.Run Exe & Params & " " & URL, 7, False
'Else Пропускаем
End If
Else
WSH.Run Exe & " -i " & File & Params, 7, False
End If
Loop
TempFile.Close
Set TempFile = Nothing
Else
URL = InputBox("Не указаны параметры." & vbNewLine & _
"Введите ссылку для скачивания", "Download Script")
If Len(URL) > 0 Then
WSH.Run Exe & Params & " " & URL, 7, False
'Else Пропускаем
End If
End If
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit
Добавлено: Ср июн 06, 2007 10:19
skole
блин, спасибо
Добавлено: Вт сен 20, 2011 06:52
Flasher
Тэкс, граждане пассажиры, тунеядцы, хулиганы, алкоголики, рецидивисты, ... ну, и другие нуждающиеся...

Имеются скрипты по скачке
серии файлов по прямым линкам из буфера и с сайта. Есть желающие возыметь?
Добавлено: Ср. Сен 21, 2011 02:12
Да, я посмотрю, "много" тут любителей скорости и автоматизма...
Ну, не хотите - как хотите...
Добавлено: Чт сен 22, 2011 17:11
cojoc
Flasher поделись пожалуйста - мне нужно!
Спасибо!
Добавлено: Чт сен 22, 2011 18:22
Flasher
cojoc
Ну, раз один человек просит, даю
так!

Добавлено: Чт сен 22, 2011 20:12
Andrey_A
Flasher
А архивчик-то с паролем
Добавлено: Чт сен 22, 2011 20:33
Flasher
Andrey_A
А ты проницателен.

6 скачек, зато доселе реакции - ноль. Вот такие граждане у нас: получить хотят, а попросить не могут.
Вот человек попросил - человек и получил.

Добавлено: Чт сен 22, 2011 20:54
ask-rus
Flasher писал(а):6 скачек, зато доселе реакции - ноль.
Всего лишь-то.
Flasher писал(а):Вот такие граждане у нас: получить хотят, а попросить не могут.
После такого
Flasher писал(а):тунеядцы, хулиганы, алкоголики, рецидивисты, ... ну, и другие нуждающиеся...
просить...
Flasher писал(а):Вот человек попросил - человек и получил.
Затея очевидна.
Добавлено: Чт сен 22, 2011 21:01
Flasher
ask-rus
Не разводи флудильню.
Вот у
cojoc с чувством умора проблем нет, на таких понимающих и было рассчитано.
Всего лишь-то.
За пару часов достаточно, чтобы понять, что это ещё кому-то надо.
Добавлено: Чт сен 22, 2011 22:27
Andrey_A
у меня с чуством юмоа не всегда очень..
Надо было попросить?
Тогда прошу!
Добавлено: Чт сен 22, 2011 22:38
Flasher
Andrey_A писал(а):Надо было попросить?
Хотя бы положительно отреагировать на вопрос:
Flasher писал(а):Есть желающие возыметь?
Andrey_A писал(а):Тогда прошу!
Отправлено.
[mod="Моторокер"]Два последующих бессмысленных сообщения удалены (
п.11). Просьба для просьб использовать личку
Flasher.[/mod]