View previous topic :: View next topic |
Author |
Message |
skole
Joined: 31 Dec 2004 Posts: 162 Location: Россия, Оренбург
|
(Separately) Posted: Mon Jun 04, 2007 17:03 Post subject: Скрипты для скачивания файлов |
|
|
Написал скрипт (VBS), но проблема в том, что в пустой папке от не хочет запускаться, пишет что Индекс выходит за пределы допустимого диапазона... Как избежать этой ошибки в дальнейшем? параметр входного файлов описываю как "%L". Т.е. по идее даже если в папке нет никаких файлов, то скрипт должен выполняться
! | Avada: | Прежний заголовок "Вопрос скриптописателям" заменён с учётом последующего обсуждения на более содержательный. | |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Mon Jun 04, 2007 17:22 Post subject: |
|
|
Не зная, что должен делать скрипт, и каков его код, могу только посоветовать юзать оператор условия if =). В самом деле, если скрипт обрабатывает список переданных файлов, и ему передаётся пустота... _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2221 Location: Москва, Россия
|
(Separately) Posted: Mon Jun 04, 2007 18:34 Post subject: |
|
|
Приведи кусок кода со строкой, в которой происходит ошибка. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
skole
Joined: 31 Dec 2004 Posts: 162 Location: Россия, Оренбург
|
(Separately) Posted: Tue Jun 05, 2007 08:27 Post subject: |
|
|
Code: | ' ==============================================================
' 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 и выскакивает ошибка... как избежать именно вот этого, что если нет никаких файлов под курсором, то скрипт должен выполнять действия с момента Code: | URL = InputBox("Введите ссылку для скачивания", "Download Script") |
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2221 Location: Москва, Россия
|
(Separately) Posted: Tue Jun 05, 2007 13:17 Post subject: |
|
|
Я бы сделал примерно так:
Code: | 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 |
|
|
Back to top |
|
|
skole
Joined: 31 Dec 2004 Posts: 162 Location: Россия, Оренбург
|
(Separately) Posted: Wed Jun 06, 2007 10:19 Post subject: |
|
|
блин, спасибо |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Sep 20, 2011 06:52 Post subject: |
|
|
Тэкс, граждане пассажиры, тунеядцы, хулиганы, алкоголики, рецидивисты, ... ну, и другие нуждающиеся...
Имеются скрипты по скачке серии файлов по прямым линкам из буфера и с сайта. Есть желающие возыметь?
Добавлено: Ср. Сен 21, 2011 02:12
Да, я посмотрю, "много" тут любителей скорости и автоматизма...
Ну, не хотите - как хотите... |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Thu Sep 22, 2011 17:11 Post subject: |
|
|
Flasher поделись пожалуйста - мне нужно!
Спасибо!
Last edited by cojoc on Thu Sep 22, 2011 18:31; edited 3 times in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Sep 22, 2011 18:22 Post subject: |
|
|
cojoc
Ну, раз один человек просит, даю так! |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Thu Sep 22, 2011 20:12 Post subject: |
|
|
Flasher
А архивчик-то с паролем |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Sep 22, 2011 20:33 Post subject: |
|
|
Andrey_A
А ты проницателен. 6 скачек, зато доселе реакции - ноль. Вот такие граждане у нас: получить хотят, а попросить не могут.
Вот человек попросил - человек и получил. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Thu Sep 22, 2011 20:54 Post subject: |
|
|
Flasher wrote: | 6 скачек, зато доселе реакции - ноль. |
Всего лишь-то.
Flasher wrote: | Вот такие граждане у нас: получить хотят, а попросить не могут. |
После такого
Flasher wrote: | тунеядцы, хулиганы, алкоголики, рецидивисты, ... ну, и другие нуждающиеся... |
просить...
Flasher wrote: | Вот человек попросил - человек и получил. |
Затея очевидна. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Sep 22, 2011 21:01 Post subject: |
|
|
ask-rus
Не разводи флудильню.
Вот у cojoc с чувством умора проблем нет, на таких понимающих и было рассчитано.
За пару часов достаточно, чтобы понять, что это ещё кому-то надо. |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Thu Sep 22, 2011 22:27 Post subject: |
|
|
у меня с чуством юмоа не всегда очень..
Надо было попросить?
Тогда прошу! |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Sep 22, 2011 22:38 Post subject: |
|
|
Andrey_A wrote: | Надо было попросить? | Хотя бы положительно отреагировать на вопрос: Flasher wrote: | Есть желающие возыметь? |
Andrey_A wrote: | Тогда прошу! | Отправлено.
! | Моторокер: | Два последующих бессмысленных сообщения удалены (п.11). Просьба для просьб использовать личку Flasher. | |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|