Скрипты для скачивания файлов
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Скрипты для скачивания файлов Author: skoleLocation: Россия, Оренбург PostPosted: Mon Jun 04, 2007 17:03
    —
Написал скрипт (VBS), но проблема в том, что в пустой папке от не хочет запускаться, пишет что Индекс выходит за пределы допустимого диапазона... Как избежать этой ошибки в дальнейшем? параметр входного файлов описываю как "%L". Т.е. по идее даже если в папке нет никаких файлов, то скрипт должен выполняться

 !  Avada:
Прежний заголовок "Вопрос скриптописателям" заменён с учётом последующего обсуждения на более содержательный.

#2:  Author: D1PLocation: Тбилиси PostPosted: Mon Jun 04, 2007 17:22
    —
Не зная, что должен делать скрипт, и каков его код, могу только посоветовать юзать оператор условия if =). В самом деле, если скрипт обрабатывает список переданных файлов, и ему передаётся пустота...

#3:  Author: BatyaLocation: Москва, Россия PostPosted: Mon Jun 04, 2007 18:34
    —
Приведи кусок кода со строкой, в которой происходит ошибка.

#4:  Author: skoleLocation: Россия, Оренбург PostPosted: Tue Jun 05, 2007 08:27
    —
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")

#5:  Author: BatyaLocation: Москва, Россия PostPosted: Tue Jun 05, 2007 13:17
    —
Я бы сделал примерно так:
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

#6:  Author: skoleLocation: Россия, Оренбург PostPosted: Wed Jun 06, 2007 10:19
    —
блин, спасибо

#7:  Author: FlasherLocation: Москва PostPosted: Tue Sep 20, 2011 06:52
    —
Тэкс, граждане пассажиры, тунеядцы, хулиганы, алкоголики, рецидивисты, ... ну, и другие нуждающиеся... Smile
Имеются скрипты по скачке серии файлов по прямым линкам из буфера и с сайта. Есть желающие возыметь? Cool

Добавлено: Ср. Сен 21, 2011 02:12
Да, я посмотрю, "много" тут любителей скорости и автоматизма...
Ну, не хотите - как хотите...

#8:  Author: cojoc PostPosted: Thu Sep 22, 2011 17:11
    —
Flasher поделись пожалуйста - мне нужно!
Спасибо!


Last edited by cojoc on Thu Sep 22, 2011 18:31; edited 3 times in total

#9:  Author: FlasherLocation: Москва PostPosted: Thu Sep 22, 2011 18:22
    —
cojoc
Ну, раз один человек просит, даю так! Smile

#10:  Author: Andrey_ALocation: Сочи PostPosted: Thu Sep 22, 2011 20:12
    —
Flasher
А архивчик-то с паролем

#11:  Author: FlasherLocation: Москва PostPosted: Thu Sep 22, 2011 20:33
    —
Andrey_A
А ты проницателен. Smile 6 скачек, зато доселе реакции - ноль. Вот такие граждане у нас: получить хотят, а попросить не могут.
Вот человек попросил - человек и получил. Wink

#12:  Author: ask-rusLocation: Russian Federation PostPosted: Thu Sep 22, 2011 20:54
    —
Flasher wrote:
6 скачек, зато доселе реакции - ноль.

Всего лишь-то.
Flasher wrote:
Вот такие граждане у нас: получить хотят, а попросить не могут.

После такого
Flasher wrote:
тунеядцы, хулиганы, алкоголики, рецидивисты, ... ну, и другие нуждающиеся...

просить...
Flasher wrote:
Вот человек попросил - человек и получил.

Затея очевидна.

#13:  Author: FlasherLocation: Москва PostPosted: Thu Sep 22, 2011 21:01
    —
ask-rus
Не разводи флудильню.
Вот у cojoc с чувством умора проблем нет, на таких понимающих и было рассчитано.

Quote:
Всего лишь-то.
За пару часов достаточно, чтобы понять, что это ещё кому-то надо.

#14:  Author: Andrey_ALocation: Сочи PostPosted: Thu Sep 22, 2011 22:27
    —
у меня с чуством юмоа не всегда очень..
Надо было попросить?
Тогда прошу!

#15:  Author: FlasherLocation: Москва PostPosted: Thu Sep 22, 2011 22:38
    —
Andrey_A wrote:
Надо было попросить?
Хотя бы положительно отреагировать на вопрос:
Flasher wrote:
Есть желающие возыметь?
Andrey_A wrote:
Тогда прошу!
Отправлено.

 !  Моторокер:
Два последующих бессмысленных сообщения удалены (п.11). Просьба для просьб использовать личку Flasher.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next  :| |:
Page 1 of 10

Powered by phpBB © 2001, 2005 phpBB Group