[CMD] Найти на веб-странице текст href и скачать по ссылке

alex_diablo

Постоянный участник
Сообщения
144
Реакции
9
доброго времени суток.
есть следующая задача:

имеем страницу: Unity - Unity QA - Patch Releases

нужно написать скрипт, который будет искать на странице адрес для скачивания файла.
поясню: есть ссылка http://beta.unity3d.com/download/2f...5p5.exe?_ga=1.192374762.1548665087.1441112791


из этой ссылки нам нужно записать в переменную только: 2fb591d65635

у каждой версии файла этот 12-символьный код произвольный, поэтому нам нужно его находить таким образом: у нас есть переменная UnitySetup64-5.3.5p5.exe

далее скрипт должен на странице найти строку, где указан этот файл и из пути выдернуть тот 12-символьный код, который в данном урле.

надеюсь, понятно объяснил суть.


п.с. пробовал через wget скачать страницу и локально через findstr искать нужный урл по маске: UnitySetup64-5.3.5p5.exe. далее строку записывал в файл.
но не знаю, как правильно записать в переменную всю строку (и убрать все лишнее, кроме необходимых 12 символов.)
 
Последнее редактирование:
Здравствуйте!

У меня почему-то именно эту страницу выводить не хочет:

Код:
wget -q -O- https://unity3d.com/ru/unity/qa/patch-releases/

Какие вы ключи используете?
 
хм... без всяких ключей у меня все скачивается...
Код:
wget https://unity3d.com/ru/unity/qa/patch-releases
 
Разобрался. У меня ругалось на сертификат. А у Вас ради интереса, какая версия wget?
Можете в ЛС скинуть EXE-шник?
 
Обе разрядности Unit нужны или одна?
 
Так попробуйте:

CMD/BATCH:
@echo off

set "command=wget -q --force-html -O- --level=1 --no-cache --retry-connrefused --tries=3 --connect-timeout=5 --no-check-certificate https://unity3d.com/ru/unity/qa/patch-releases/"

for /f UseBackQ^ tokens^=2^ delims^=^" %%a in (`%command% ^| find /i "UnitySetup64"`) do (
  wget --tries=3 --connect-timeout=5 --retry-connrefused --continue --no-check-certificate "%%a"
  goto end
)
:end

pause
 
скрипт работает, спасибо. но не совсем так, как нужно. попробую пояснить.
сам файл по ссылке этой http://beta.unity3d.com/download/2fb591d65635/Windows64EditorInstaller/UnitySetup64-5.3.5p5.exe скачиваться не должен.

к примеру, вышла новая версия Unity, допустим это будет: 5.3.6р1
тогда урл на скачивание этого файла будет иметь вид: http://beta.unity3d.com/download/************/Windows64EditorInstaller/UnitySetup64-5.3.6p1.exe
где ************ - уникальная сгенерированная комбинация символов. для каждой ссылки они соответственно разные.
мы задаем переменную по маске для поиска:
Код:
set ver=5.3.6р1
далее скрипт по маске
Код:
unitysetup64-%ver%.exe
должен нам найти данный урл и в переменную (например url) записать то значение, которое на месте звездочек.
т.е. вот для версии 5.3.5р5 , скрипт должен на странице найти ссылку: http://beta.unity3d.com/download/2fb591d65635/Windows64EditorInstaller/UnitySetup64-5.3.5p5.exe
и выцепить из нее только символы: 2fb591d65635 и записать их в переменную url.
вот как то так...
 
Последнее редактирование:
CMD/BATCH:
@echo off
SetLocal EnableExtensions

set "ver=5.3.5p5"
set "bit=UnitySetup64"

set "command=wget -q --force-html -O- --level=1 --no-cache --retry-connrefused --tries=3 --connect-timeout=5 --no-check-certificate https://unity3d.com/ru/unity/qa/patch-releases/"

for /f UseBackQ^ tokens^=2^ delims^=^" %%a in (`%command% ^| find /i "%bit%" ^| find /i "%ver%"`) do (
  rem echo "%%a"
  for /f "tokens=4 delims=/" %%b in ("%%a") do set "url=%%b"
  goto end
)
:end

echo %url%

pause
exit /B
 
вопрос касательно 1 варианта скрипта: как заставить wget выкачивать файл в сетевую шару? например в: \\file_server\soft\unity
 
Код:
wget -P "\\file_server\soft\unity" -O index.html https://unity3d.com/ru/unity/qa/patch-releases/
или
Код:
wget -O "\\file_server\soft\unity\index.html" https://unity3d.com/ru/unity/qa/patch-releases/
 
вопрос касательно 1 варианта скрипта: как заставить wget выкачивать файл в сетевую шару? например в: \\file_server\soft\unity

не актуально.

up:

нужно дописать возможность указания в поиске другой версии, если вдруг такая версия не найдена.

и еще: у нас сделан поиск только на странице Unity - Unity QA - Patch Releases

было бы здорово искать по всем страницам, т.к. искомая версия может быть старой и соответственно, находиться на другой странице:

например:
HTML:
https://unity3d.com/ru/unity/qa/patch-releases
https://unity3d.com/ru/unity/qa/patch-releases?page=2
...
https://unity3d.com/ru/unity/qa/patch-releases?page=20

и т.д.
 
Последнее редактирование:
Может, дополнительно вывести перечень доступных версий (если не была найдена искомая) и предложить ввести одну из них ?
Такое?

CMD/BATCH:
@echo off
SetLocal EnableExtensions

set "ver=5.3.6р1"
set "bit=UnitySetup64"

:: временная папка для скачивания html (не указывайте закрывающий слэш)
set tmpFolder=.

set "UnityURL=https://unity3d.com/ru/unity/qa/patch-releases/"

wget -q --force-html -P "%tmpFolder%" -O "index.html" --level=1 --no-cache --retry-connrefused --tries=3 --connect-timeout=5 --no-check-certificate %UnityURL% || (
  echo Не удалось скачать страницу.
  pause >NUL
  exit /B
)

:begin
cls
echo Unity3D Downloader
echo.
echo Список доступных версий:
echo.
for /f tokens^=2^ delims^=^" %%a in ('type "%tmpFolder%\index.html" ^| find /i "%bit%"') do (
  for /f "tokens=6 delims=/" %%b in ("%%a") do (
    for /f "tokens=2 delims=-" %%c in ("%%b") do set /p "=%%~nc - "<NUL & for /f "tokens=4 delims=/" %%b in ("%%a") do echo %%b
  )
)
echo.
echo Выбрана: %ver%
echo.
for /f tokens^=2^ delims^=^" %%a in ('type "%tmpFolder%\index.html" ^| find /i "%bit%" ^| find /i "%ver%"') do (
rem echo "%%a"
  for /f "tokens=4 delims=/" %%b in ("%%a") do set "url=%%b"
  goto end
)
:end
if defined url (
  echo Код для скачивания: %url%
) else (
  set /p "ver=Версия не найдена! Введите новую: "
  goto begin
)
echo.
pause
unity1.webp
unity2.webp
 
немного конкретизирую: было бы здорово, чтобы на первоначальном этапе можно было выбрать: прописать нужную версию вручную, либо чтобы сразу вывелся список всех доступных версий. только поиск должен проводиться по всем имеющимся там страницам.
далее - если ищем вручную и нужная версия существует -> присваиваем искомый код переменной %url%
если такой версии не существует, выдается сообщение, что такая версия не найдена и выдается список всех найденных версий.
если же изначально выбираем показать все имеющиеся версии - то сразу выводить список версий.
в списке нужно сделать возможность выбора версии. если возможно - по нажатию цифры, соответствующей пункту в списке. либо ввод вручную, если список длиннее.
вообще в идеале - сделать возможность постраничного отображения списка, чтобы не было длинной простыни. ну и навигация вперед-назад. если такое возможно.
ну и в итоге - по нажатию пункта в меню - переменной %url% также присваивался бы искомый код.

:Blush2:
 
По моему на сайте всё сделано именно так как Вы просите: не простыня и навигация вперед-назад :)
Я бы тут побеспокоился о немного другом: там 22 страницы и если их перекачивать это займёт ~ 60 секунд.
Можно завести рядом списочек уже полученных ссылок (если учесть что гиперссылка для старых версий не изменяется), тогда будет достаточно скачивать только первую страницу для обновления списка базы данных, при учёте конечно что вы хотя бы раз в месяц будете запускать скрипт.
 
навигация действительно сделана. это факт) можно было бы и не заморачиваться со скриптом вообще, а просто заходить на сайт, смотреть, какие версии есть и оттуда же качать то, что там есть)
проблема кроется в другом. по-умолчанию, там можно скачать только основной установочный файл и установщик дополнительных компонентов. дополнительные компоненты можно установить, предварительно установив ассистент. там можно выбрать уже нужные компоненты.
задача стоит как раз в том, чтобы автоматизировать процесс поиска новой вышедшей версии и скачивание всех необходимых установочных файлов, включая компоненты.

вот например, для версии 5.3.5р5 ссылки на эти файлы компонентов выглядят так:

http://beta.unity3d.com/download/2f...ySetup-Android-Support-for-Editor-5.3.5p5.exe
http://beta.unity3d.com/download/2f...UnitySetup-Mac-Support-for-Editor-5.3.5p5.exe
http://beta.unity3d.com/download/2f...UnitySetup-iOS-Support-for-Editor-5.3.5p5.exe
http://beta.unity3d.com/download/2f...ySetup-Windows-Support-for-Editor-5.3.5p5.exe

как вы можете видеть, находятся они совсем по другому пути. единственное, что их объединяет с сылкой, которую мы ищем в скрипте, это тот код, который мы как раз и ищем.
но узнать мы его можем только с той самой страницы, с которой и ведем поиск :)

бывает так, что нужна какая то более старая версия, которой нет скачанной на файл-сервере.
и тогда нужно ее скачать. а раз она старая, значит она будет на совсем другой странице, где - мы не знаем, нужно пролистывать.
зачастую, заведомо известно, какая версия нужна и поэтому ее просто можно вбивать ручками, а скрипт просто должен ее находить и получать нужный искомый код.
но было бы красиво, если бы можно было вывести весь список на экран и выбрать нужную версию лишь нажав нужную циферку) ну это скорее так, плюшки.
но крайне важно, чтобы в случае отсутствия нужной версии можно было вбить ее заново. ведь при наборе можно просто очепятаться.

конечно, можно зайти на сайт, пробежаться по страницам, потом в скрипте указать нужную страницу. но хотелось бы чтобы все было в одном месте и сразу :)

а еще (в идеале) хочется в скрипте реализовать не только скачивание нужной версии, но и проверку наличия этих файлов на файл-сервере (мало ли, вдруг кто-то уже выкачал к примеру ручками).

вот как то так :)


зы. насчет просмотра всех страниц разом это я конечно погорячился. но может быть можно реализовать так, что изначально ищем и выводим результаты только с главной страницы, а если вдруг не находим нужную, то тогда выполнять поиск по следующей? если и там не находим, дальше и дальше? мне кажется, это будет аналог того, что мы на веб-странице кликаем по ссылке вперед. нет?

на практике такое может понадобиться редко, т.к. в основном искомая версия известна, как правило качаются новые и они всегда на гл. странице. но раз в пятилетку и палка хочет выстрелить. так что если мы можем ее заставить это сделать - было бы здорово! )
 
Последнее редактирование:
А Вы учитываете тот факт, что для старых версий имя файла может отличаться?

См. (это полный перечень из всех 22 страниц):

http://beta.unity3d.com/download/0947a3bf5ea4/Windows64EditorInstaller/UnitySetup64-5.3.5p6.exe
http://beta.unity3d.com/download/0947a3bf5ea4/Windows32EditorInstaller/UnitySetup32-5.3.5p6.exe
http://beta.unity3d.com/download/2fb591d65635/Windows64EditorInstaller/UnitySetup64-5.3.5p5.exe
http://beta.unity3d.com/download/2fb591d65635/Windows32EditorInstaller/UnitySetup32-5.3.5p5.exe
http://beta.unity3d.com/download/f55402cb6571/Windows64EditorInstaller/UnitySetup64-5.3.5p4.exe
http://beta.unity3d.com/download/f55402cb6571/Windows32EditorInstaller/UnitySetup32-5.3.5p4.exe
http://beta.unity3d.com/download/4c1fbb057dc3/Windows64EditorInstaller/UnitySetup64-5.3.5p3.exe
http://beta.unity3d.com/download/4c1fbb057dc3/Windows32EditorInstaller/UnitySetup32-5.3.5p3.exe
http://beta.unity3d.com/download/3103edb99077/Windows64EditorInstaller/UnitySetup64-5.3.5p2.exe
http://beta.unity3d.com/download/3103edb99077/Windows32EditorInstaller/UnitySetup32-5.3.5p2.exe
http://beta.unity3d.com/download/04596651afa0/Windows64EditorInstaller/UnitySetup64-5.3.5p1.exe
http://beta.unity3d.com/download/04596651afa0/Windows32EditorInstaller/UnitySetup32-5.3.5p1.exe
http://beta.unity3d.com/download/9eb825cf2ca3/Windows64EditorInstaller/UnitySetup64-5.3.4p6.exe
http://beta.unity3d.com/download/9eb825cf2ca3/Windows32EditorInstaller/UnitySetup32-5.3.4p6.exe
http://beta.unity3d.com/download/83b1f50dd5b8/Windows64EditorInstaller/UnitySetup64-5.3.4p5.exe
http://beta.unity3d.com/download/83b1f50dd5b8/Windows32EditorInstaller/UnitySetup32-5.3.4p5.exe
http://beta.unity3d.com/download/43a3882ae25c/Windows64EditorInstaller/UnitySetup64-5.3.4p4.exe
http://beta.unity3d.com/download/43a3882ae25c/Windows32EditorInstaller/UnitySetup32-5.3.4p4.exe
http://beta.unity3d.com/download/b902ad490cea/Windows64EditorInstaller/UnitySetup64-5.3.4p3.exe
http://beta.unity3d.com/download/b902ad490cea/Windows32EditorInstaller/UnitySetup32-5.3.4p3.exe
http://beta.unity3d.com/download/fdf8d87c549e/Windows64EditorInstaller/UnitySetup64-5.3.4p2.exe
http://beta.unity3d.com/download/fdf8d87c549e/Windows32EditorInstaller/UnitySetup32-5.3.4p2.exe
http://beta.unity3d.com/download/e89f89413a91/Windows64EditorInstaller/UnitySetup64-5.3.4p1.exe
http://beta.unity3d.com/download/e89f89413a91/Windows32EditorInstaller/UnitySetup32-5.3.4p1.exe
http://beta.unity3d.com/download/1d2e01741d9f/Windows64EditorInstaller/UnitySetup64-5.3.3p3.exe
http://beta.unity3d.com/download/1d2e01741d9f/Windows32EditorInstaller/UnitySetup32-5.3.3p3.exe
http://beta.unity3d.com/download/86ede31d5f8d/Windows64EditorInstaller/UnitySetup64-5.3.3p2.exe
http://beta.unity3d.com/download/86ede31d5f8d/Windows32EditorInstaller/UnitySetup32-5.3.3p2.exe
http://beta.unity3d.com/download/828971bd30e1/Windows64EditorInstaller/UnitySetup64-5.3.3p1.exe
http://beta.unity3d.com/download/828971bd30e1/Windows32EditorInstaller/UnitySetup32-5.3.3p1.exe
http://beta.unity3d.com/download/3df229d35023/Windows64EditorInstaller/UnitySetup64-5.3.2p4.exe
http://beta.unity3d.com/download/3df229d35023/Windows32EditorInstaller/UnitySetup32-5.3.2p4.exe
http://beta.unity3d.com/download/b6c1a63227dc/Windows64EditorInstaller/UnitySetup64-5.3.2p3.exe
http://beta.unity3d.com/download/b6c1a63227dc/Windows32EditorInstaller/UnitySetup32-5.3.2p3.exe
http://beta.unity3d.com/download/dec88fd2a56c/Windows64EditorInstaller/UnitySetup64-5.3.2p2.exe
http://beta.unity3d.com/download/dec88fd2a56c/Windows32EditorInstaller/UnitySetup32-5.3.2p2.exe
http://beta.unity3d.com/download/82077c0be25b/Windows64EditorInstaller/UnitySetup64-5.3.2p1.exe
http://beta.unity3d.com/download/82077c0be25b/Windows32EditorInstaller/UnitySetup32-5.3.2p1.exe
http://beta.unity3d.com/download/9ca6c7a9c23e/Windows64EditorInstaller/UnitySetup64-5.3.1p4.exe
http://beta.unity3d.com/download/9ca6c7a9c23e/Windows32EditorInstaller/UnitySetup32-5.3.1p4.exe
http://beta.unity3d.com/download/a581c9fffe9f/Windows64EditorInstaller/UnitySetup64-5.3.1p3.exe
http://beta.unity3d.com/download/a581c9fffe9f/Windows32EditorInstaller/UnitySetup32-5.3.1p3.exe
http://beta.unity3d.com/download/49544457ab1d/Windows64EditorInstaller/UnitySetup64-5.3.1p2.exe
http://beta.unity3d.com/download/49544457ab1d/Windows32EditorInstaller/UnitySetup32-5.3.1p2.exe
http://beta.unity3d.com/download/7d3d8e90548b/Windows64EditorInstaller/UnitySetup64-5.3.1p1.exe
http://beta.unity3d.com/download/7d3d8e90548b/Windows32EditorInstaller/UnitySetup32-5.3.1p1.exe
http://beta.unity3d.com/download/383123ade41b/Windows64EditorInstaller/UnitySetup64-5.2.3p3.exe
http://beta.unity3d.com/download/383123ade41b/Windows32EditorInstaller/UnitySetup32-5.2.3p3.exe
http://beta.unity3d.com/download/8837012679/UnitySetup_update-4.6.9p4.exe
http://beta.unity3d.com/download/b5869bab0ca4/Windows64EditorInstaller/UnitySetup64-5.2.3p2.exe
http://beta.unity3d.com/download/b5869bab0ca4/Windows32EditorInstaller/UnitySetup32-5.2.3p2.exe
http://beta.unity3d.com/download/16366bd81e69/Windows64EditorInstaller/UnitySetup64-5.2.3p1.exe
http://beta.unity3d.com/download/16366bd81e69/Windows32EditorInstaller/UnitySetup32-5.2.3p1.exe
http://beta.unity3d.com/download/9331449333/UnitySetup_update-4.6.9p3.exe
http://beta.unity3d.com/download/93d0b2db7c56/Windows64EditorInstaller/UnitySetup64-5.2.2p4.exe
http://beta.unity3d.com/download/93d0b2db7c56/Windows32EditorInstaller/UnitySetup32-5.2.2p4.exe
http://beta.unity3d.com/download/75b999ee8bfd/Windows64EditorInstaller/UnitySetup64-5.2.2p3.exe
http://beta.unity3d.com/download/75b999ee8bfd/Windows32EditorInstaller/UnitySetup32-5.2.2p3.exe
http://beta.unity3d.com/download/2932625209/UnitySetup_update-4.6.9p2.exe
http://beta.unity3d.com/download/67d68477bb52/Windows64EditorInstaller/UnitySetup64-5.2.2p2.exe
http://beta.unity3d.com/download/67d68477bb52/Windows32EditorInstaller/UnitySetup32-5.2.2p2.exe
http://beta.unity3d.com/download/7552024939/UnitySetup_update-4.6.9p1.exe
http://beta.unity3d.com/download/6dd5cd7ea574/Windows64EditorInstaller/UnitySetup64-5.2.2p1.exe
http://beta.unity3d.com/download/6dd5cd7ea574/Windows32EditorInstaller/UnitySetup32-5.2.2p1.exe
http://beta.unity3d.com/download/9a78a9ce1e6c/Windows64EditorInstaller/UnitySetup64-5.2.1p4.exe
http://beta.unity3d.com/download/9a78a9ce1e6c/Windows32EditorInstaller/UnitySetup32-5.2.1p4.exe
http://beta.unity3d.com/download/5813573737/UnitySetup_update-4.6.8p4.exe
http://beta.unity3d.com/download/b7d18ab613bc/Windows64EditorInstaller/UnitySetup64-5.2.1p3.exe
http://beta.unity3d.com/download/b7d18ab613bc/Windows32EditorInstaller/UnitySetup32-5.2.1p3.exe
http://beta.unity3d.com/download/008af436a8e0/Windows64EditorInstaller/UnitySetup64-5.2.1p2.exe
http://beta.unity3d.com/download/008af436a8e0/Windows32EditorInstaller/UnitySetup32-5.2.1p2.exe
http://beta.unity3d.com/download/1823726533/UnitySetup_update-4.6.8p3.exe
http://beta.unity3d.com/download/9d7f6c38e90b/Windows64EditorInstaller/UnitySetup64-5.2.1p1.exe
http://beta.unity3d.com/download/9d7f6c38e90b/Windows32EditorInstaller/UnitySetup32-5.2.1p1.exe
http://beta.unity3d.com/download/cd0778e591b3/Windows64EditorInstaller/UnitySetup64-5.2.0p1.exe
http://beta.unity3d.com/download/cd0778e591b3/Windows32EditorInstaller/UnitySetup32-5.2.0p1.exe
http://beta.unity3d.com/download/0168183689/UnitySetup_update-4.6.8p2.exe
http://beta.unity3d.com/download/f0a33a6ef422/Windows64EditorInstaller/UnitySetup64-5.1.3p3.exe
http://beta.unity3d.com/download/f0a33a6ef422/Windows32EditorInstaller/UnitySetup32-5.1.3p3.exe
http://beta.unity3d.com/download/bebcb01d8ab6/Windows64EditorInstaller/UnitySetup64-5.1.3p2.exe
http://beta.unity3d.com/download/bebcb01d8ab6/Windows32EditorInstaller/UnitySetup32-5.1.3p2.exe
http://beta.unity3d.com/download/2159760418/UnitySetup_update-4.6.8p1.exe
http://beta.unity3d.com/download/8e79cb51fdc7/Windows64EditorInstaller/UnitySetup64-5.1.3p1.exe
http://beta.unity3d.com/download/8e79cb51fdc7/Windows32EditorInstaller/UnitySetup32-5.1.3p1.exe
http://beta.unity3d.com/download/8351869017/UnitySetup_update-4.6.7p4.exe
http://beta.unity3d.com/download/65486b59c7a9/Windows64EditorInstaller/UnitySetup64-5.1.2p3.exe
http://beta.unity3d.com/download/65486b59c7a9/Windows32EditorInstaller/UnitySetup32-5.1.2p3.exe
http://beta.unity3d.com/download/5074993455/UnitySetup_update-4.6.7p3.exe
http://beta.unity3d.com/download/207c2b8718a4/Windows64EditorInstaller/UnitySetup64-5.1.2p2.exe
http://beta.unity3d.com/download/207c2b8718a4/Windows32EditorInstaller/UnitySetup32-5.1.2p2.exe
http://beta.unity3d.com/download/4b35e09f2de6/Windows64EditorInstaller/UnitySetup64-5.1.2p1.exe
http://beta.unity3d.com/download/4b35e09f2de6/Windows32EditorInstaller/UnitySetup32-5.1.2p1.exe
http://beta.unity3d.com/download/2870685207/UnitySetup_update-4.6.7p2.exe
http://beta.unity3d.com/download/c439df19cd24/Windows64EditorInstaller/UnitySetup64-5.1.1p4.exe
http://beta.unity3d.com/download/c439df19cd24/Windows32EditorInstaller/UnitySetup32-5.1.1p4.exe
http://beta.unity3d.com/download/7163471047/UnitySetup_update-4.6.7p1.exe
http://beta.unity3d.com/download/369fd983d9e1/Windows64EditorInstaller/UnitySetup64-5.1.1p3.exe
http://beta.unity3d.com/download/369fd983d9e1/Windows32EditorInstaller/UnitySetup32-5.1.1p3.exe
http://beta.unity3d.com/download/3179931128/UnitySetup_update-4.6.6p4.exe
http://beta.unity3d.com/download/82544090e14f/Windows64EditorInstaller/UnitySetup64-5.1.1p2.exe
http://beta.unity3d.com/download/82544090e14f/Windows32EditorInstaller/UnitySetup32-5.1.1p2.exe
http://beta.unity3d.com/download/70d53b55896f/Windows64EditorInstaller/UnitySetup64-5.0.3p3.exe
http://beta.unity3d.com/download/70d53b55896f/Windows32EditorInstaller/UnitySetup32-5.0.3p3.exe
http://beta.unity3d.com/download/17d6a7a3ab46/Windows64EditorInstaller/UnitySetup64-5.1.1p1.exe
http://beta.unity3d.com/download/17d6a7a3ab46/Windows32EditorInstaller/UnitySetup32-5.1.1p1.exe
http://beta.unity3d.com/download/7941417566/UnitySetup_update-4.6.6p3.exe
http://beta.unity3d.com/download/fdc6dca0d330/Windows64EditorInstaller/UnitySetup64-5.0.3p2.exe
http://beta.unity3d.com/download/fdc6dca0d330/Windows32EditorInstaller/UnitySetup32-5.0.3p2.exe
http://beta.unity3d.com/download/bbc4736be0f7/Windows64EditorInstaller/UnitySetup64-5.1.0p1.exe
http://beta.unity3d.com/download/bbc4736be0f7/Windows32EditorInstaller/UnitySetup32-5.1.0p1.exe
http://beta.unity3d.com/download/7917166999/UnitySetup_update-4.6.6p2.exe
http://beta.unity3d.com/download/9e18eb741247/Windows64EditorInstaller/UnitySetup64-5.0.3p1.exe
http://beta.unity3d.com/download/9e18eb741247/Windows32EditorInstaller/UnitySetup32-5.0.3p1.exe
http://beta.unity3d.com/download/1038498815/UnitySetup_update-4.6.6p1.exe
http://beta.unity3d.com/download/55ac7f2bae00/Windows64EditorInstaller/UnitySetup64-5.0.2p4.exe
http://beta.unity3d.com/download/55ac7f2bae00/Windows32EditorInstaller/UnitySetup32-5.0.2p4.exe
http://beta.unity3d.com/download/3145472565/UnitySetup_update-4.6.5p4.exe
http://beta.unity3d.com/download/d1699214cbc5/Windows64EditorInstaller/UnitySetup64-5.0.2p3.exe
http://beta.unity3d.com/download/d1699214cbc5/Windows32EditorInstaller/UnitySetup32-5.0.2p3.exe
http://beta.unity3d.com/download/0051793213/UnitySetup_update-4.6.5p3.exe
http://beta.unity3d.com/download/f0e1974f8a5a/Windows64EditorInstaller/UnitySetup64-5.0.2p2.exe
http://beta.unity3d.com/download/f0e1974f8a5a/Windows32EditorInstaller/UnitySetup32-5.0.2p2.exe
http://beta.unity3d.com/download/2232048192/UnitySetup_update-4.6.5p2.exe
http://beta.unity3d.com/download/8532b35838a2/Windows64EditorInstaller/UnitySetup64-5.0.2p1.exe
http://beta.unity3d.com/download/8532b35838a2/Windows32EditorInstaller/UnitySetup32-5.0.2p1.exe
http://beta.unity3d.com/download/d5a3c6c514e1/Windows64EditorInstaller/UnitySetup64-5.0.1p4.exe
http://beta.unity3d.com/download/d5a3c6c514e1/Windows32EditorInstaller/UnitySetup32-5.0.1p4.exe
http://beta.unity3d.com/download/5847334882/UnitySetup_update-4.6.5p1.exe
http://beta.unity3d.com/download/831bf8db21f1/Windows64EditorInstaller/UnitySetup64-5.0.1p3.exe
http://beta.unity3d.com/download/831bf8db21f1/Windows32EditorInstaller/UnitySetup32-5.0.1p3.exe
http://beta.unity3d.com/download/5607584749/UnitySetup_update-4.6.4p4.exe
http://beta.unity3d.com/download/7bde3a37f2fb/Windows64EditorInstaller/UnitySetup64-5.0.1p2.exe
http://beta.unity3d.com/download/7bde3a37f2fb/Windows32EditorInstaller/UnitySetup32-5.0.1p2.exe
http://beta.unity3d.com/download/4455632833/UnitySetup_update-4.6.4p3.exe
http://beta.unity3d.com/download/643d93bfede0/Windows64EditorInstaller/UnitySetup64-5.0.1p1.exe
http://beta.unity3d.com/download/643d93bfede0/Windows32EditorInstaller/UnitySetup32-5.0.1p1.exe
http://beta.unity3d.com/download/6349247071/UnitySetup_update-4.6.4p2.exe
http://beta.unity3d.com/download/8357669777/UnitySetup_update-4.6.4p1.exe
http://beta.unity3d.com/download/8c9c1a5d2db2/Windows64EditorInstaller/UnitySetup64-5.0.0p3.exe
http://beta.unity3d.com/download/8c9c1a5d2db2/Windows32EditorInstaller/UnitySetup32-5.0.0p3.exe
http://beta.unity3d.com/download/2413849171/UnitySetup_update-4.6.3p4.exe
http://beta.unity3d.com/download/b8242d3df8b0/Windows64EditorInstaller/UnitySetup64-5.0.0p2.exe
http://beta.unity3d.com/download/b8242d3df8b0/Windows32EditorInstaller/UnitySetup32-5.0.0p2.exe
http://beta.unity3d.com/download/b38b89c951b3/Windows64EditorInstaller/UnitySetup64-5.0.0p1.exe
http://beta.unity3d.com/download/b38b89c951b3/Windows32EditorInstaller/UnitySetup32-5.0.0p1.exe
http://beta.unity3d.com/download/b38b89c951b3/Windows64EditorInstaller/UnitySetup64-5.0.0p1.exe
http://beta.unity3d.com/download/b38b89c951b3/Windows32EditorInstaller/UnitySetup32-5.0.0p1.exe
http://beta.unity3d.com/download/3609403178/UnitySetup_update-4.6.3p3.exe
http://beta.unity3d.com/download/0553181569/UnitySetup_update-4.6.3p2.exe
http://beta.unity3d.com/download/0692274275/UnitySetup_update-4.6.3p1.exe
http://beta.unity3d.com/download/8281864647/UnitySetup_update-4.6.2p2.exe
http://beta.unity3d.com/download/9714432943/UnitySetup-4.6.2p1.exe
http://beta.unity3d.com/download/2261733732/UnitySetup_update-4.6.1p5.exe
http://beta.unity3d.com/download/3000681495/UnitySetup_update-4.6.1p4.exe
http://beta.unity3d.com/download/5893054550/UnitySetup_update-4.6.1p3.exe
http://beta.unity3d.com/download/4701404319/UnitySetup_update-4.6.1p2.exe
http://beta.unity3d.com/download/8604807652/UnitySetup_update-4.6.1p1.exe
http://beta.unity3d.com/download/9044617502/UnitySetup_update-4.6.0p1.exe
http://beta.unity3d.com/download/3531360080/UnitySetup-4.5.5p5.exe
http://beta.unity3d.com/download/7856424537/UnitySetup_update-4.5.5p4.exe
http://beta.unity3d.com/download/6568425883/UnitySetup_update-4.5.5p3.exe
http://beta.unity3d.com/download/6523029087/UnitySetup_update-4.5.5p2.exe
http://beta.unity3d.com/download/4234258080/UnitySetup_update-4.5.5p1.exe
http://beta.unity3d.com/download/0293568922/UnitySetup_update-4.5.4p3.exe
http://beta.unity3d.com/download/6685476520/UnitySetup_update-4.5.4p2.exe
http://beta.unity3d.com/download/3088431051/UnitySetup_update-4.5.4p1.exe
http://beta.unity3d.com/download/2305005142/UnitySetup-4.3.7p4.exe
http://beta.unity3d.com/download/9680176560/UnitySetup_update-4.5.3p4.exe
http://beta.unity3d.com/download/6541552447/UnitySetup_update-4.5.3p3.exe
http://beta.unity3d.com/download/0393862629/UnitySetup_update-4.5.3p2.exe
http://beta.unity3d.com/download/0360241441/UnitySetup_update-4.5.3p1.exe
 
да, немного меняется шаблон имени файла... но в целом там одинаково присутствуют: UnitySetup (32 или 64) - это касаемо версий, начиная с 5.х.х.
Версии 4.х.х были все 32 битные. поэтому шаблон имени файла у них другой.
в принципе... старые версии по большому счету, все выкачаны уже, так что действительно наверное не имеет смысла шерстить все страницы.
но в таком случае, что неплохо было бы сделать:
чтобы при запуске скрипта сразу выводился список доступных для скачивания версий с 1 страницы с возможностью по нажатию соответствующего пункта в списке выбрать эту версию;
далее, чтобы на локальном сервере (\\fileserver\unity) выполнялся поиск, вдруг эти файлы уже скачаны:

например:

запустили скрипт, он вывел список всех доступных для скачивания.
выбираем версию , скажем - 5.3.5p5

далее скрипт смотрит на шаре, не скачан ли этот файл уже (если файл уже существует - он в теории должен находиться по адресу: \\fileserver\unity\5.3.5р6\UnitySetup64-5.3.5p5.exe)
там же должны быть и компоненты:

UnitySetup-Android-Support-for-Editor-5.3.5p5.exe
UnitySetup-Mac-Support-for-Editor-5.3.5p5.exe
UnitySetup-iOS-Support-for-Editor-5.3.5p6.exe
UnitySetup-Windows-Support-for-Editor-5.3.5p5.exe

может так случиться, что качали ручками и какого то файла может не быть (или не докачался).
в таком случае, нужно, чтобы скрипт проверил все эти файлы и по необходимости докачал недостающие.

если же такой версии еще нет на шаре, нужно создать папку 5.3.5р6 и туда закачать 5 файлов:

непосредственно основной инсталлер

http://beta.unity3d.com/download/2fb591d65635/Windows64EditorInstaller/UnitySetup64-5.3.5p5.exe

и 4 используемые компонента (на самом деле их больше там, но испольются только эти)

http://beta.unity3d.com/download/2f...ySetup-Android-Support-for-Editor-5.3.5p5.exe
http://beta.unity3d.com/download/2f...UnitySetup-Mac-Support-for-Editor-5.3.5p5.exe
http://beta.unity3d.com/download/2f...UnitySetup-iOS-Support-for-Editor-5.3.5p5.exe
http://beta.unity3d.com/download/2f...ySetup-Windows-Support-for-Editor-5.3.5p5.exe

при попытке закачать уже существующую версию (только если вдруг ее нет вообще на сервере) - выдать что-то типа: данная версия уже есть.
если вдруг каких-то файлов не хватает, то их докачать.

ну и было бы неплохо результат скачивания записать в лог-файл (который лежал бы там же рядом)

слишком нагло и сложно?
 
Последнее редактирование:
Назад
Сверху Снизу