Показать полную графическую версию : Копирование части текста
41275jur
26-03-2017, 10:41
Доброго время суток.
Помогите с написанием скрипта. Есть текстовый файл index.txt
Содержание файла index.txt
</ul><br/><b>Скачать с сервера:</b><br/><ul><li><a href="http://aimp.su/storage/1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe">AIMP.RU</a></li><li><a href="http://files.programki.net/aimp/1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe">Programki.net</a></li><li><a href="https://yadi.sk/d/GezDlNUi3EDmTy">Yandex Disk</a></li><li><a href="https://drive.google.com/file/d/0B5rovoA-boWkR0NnM21lWktjU0k/view?usp=sharing">Google Drive</a></li><li><a href="http://www.programosy.pl/program,aimp.html">Programosy.pl</a></li></ul><a href="http://trusted.kaspersky.com/1EBC54F4E0AB861183FC4708934D8B79/AIM2514/info" target="_blank">
Необходимо в нем скопировать http://aimp.su/storage/1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe и вставить в файл Downloads.cmd заменив XXXX.
Содержание файла Downloads.cmd
@Echo Off
"%~dp0bin\wget" -P "%~dp0Downloads" XXXX
EXIT
Эта часть 1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe сылки возможно постоянно меняется с выходом новой версии.
После изменения файла Downloads.cmd запустить его, а после окончания работы файла Downloads.cmd вернуть его в прежнее состояние.
greg zakharov
26-03-2017, 12:53
@echo off
for /f delims^=^"^ tokens^=4 %%i in (index.txt) do "%~dp0bin\wget" -P "%~dp0Downloads" %%i
exit /b
41275jur
27-03-2017, 12:06
Спасибо за быстрый ответ.
Только вместо tokens^=4 надо tokens^=2, тогда скачивает первую ссылку, ту что надо.
Подскажите ещё аналоги программ curl и wget.
Да их как-то особо и нет. А что — чего-то не хватает?
41275jur
27-03-2017, 12:26
Они упорно не хотят качать эти ссылки
http://irfanview.info/files/iview444g.zip
http://irfanview.info/files/iview444.zip
Или качают неполный архив.
Там специально стоит ограничение для таких умных как мы :lol:. Потому загружается не архив, а html-документ (расширение .zip не делает файл архивом). Используйте referer:
wget.exe --referer=http://irfanview.info/files/iview444g.zip http://irfanview.info/files/iview444g.zip
41275jur
27-03-2017, 15:31
Извини, не дочитал. Если бы ты меня не ткнул носом, я бы и не обратил на это внимание. Я несилен в этих скриптах, поэтому и обращаюсь к специалистам.
Спасибо за ответ.
Подскажи пожалуйста как wget.exe --referer=http://irfanview.info/files/iview444g.zip http://irfanview.info/files/iview444g.zip »приделать к @echo off
for /f delims^=^"^ tokens^=4 %%i in (index.txt) do "%~dp0bin\wget" -P "%~dp0Downloads" %%i
exit /b »
с теми же условиями, что указаны выше.
for /f delims^=^"^ tokens^=4 %%i in (index.txt) do "%~dp0bin\wget.exe" -P "%~dp0Downloads" --referer="%%~i" "%%~i"
Но это ровно для данных двух ссылок (http://forum.oszone.net/post-2723398.html#post2723398).
41275jur
27-03-2017, 15:59
Большое спасибо за помощь.
41275jur
15-04-2017, 07:19
Подскажи пожалуйста как из файла index.txt
<div class="article entry-content">
<b><font face="Arial, helvetica, sans-serif" size="3">[7-zip File Format Plugin]</font></b><div><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_0.0.5.zip" target="_blank">zip download</a></div><div><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_7Z_x64_0.0.5.zip" target="_blank">zip download</a> (<span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span></div><div><br></div><div><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[ALZ File Format Plugin]</font></b></div><div><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_ALZ_0.0.4.zip" target="_blank">zip download</a></div><div><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_ALZ_x64_0.0.4.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[Numerous Archive File Formats Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_Archive_0.0.6.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_Archive_x64_0.0.6.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[Digital Camera Raw File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_DCRaw_0.0.6_GPL2.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_DCRaw_x64_0.0.6_GPL2.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div><span style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_DCRaw_0.0.6_Source.zip" target="_blank">source code download</a></span></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[HD Photo(JPEG XR) File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_HDPhoto_0.0.6.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_HDPhoto_x64_0.0.6.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[HV3(HoneyView3) File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_HV3_0.0.3.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_HV3_x64_0.0.3.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[JBIG File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><div style="line-height: 20.3999996185303px;"><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_JBIG_0.0.3.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_JBIG_x64_0.0.3.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div style="line-height: 20.3999996185303px;"><span style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_JBIG_0.0.3_Source.zip" target="_blank">source code download</a></span></div><div><br></div><div><div style="line-height: 20.3999996185303px;"><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[JPEG 2000 File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_JPEG2000_0.0.7.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_JPEG2000_x64_0.0.7.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[OpenEXR File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_OpenEXR_0.0.1.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_OpenEXR_x64_0.0.1.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[RAR File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_RAR_0.0.4.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_RAR_x64_0.0.4.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (</span><span style="line-height: 20.3999996185303px;">for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[WebP File Format Plugin]</font></b></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_WebP_0.0.8.zip" target="_blank">zip download</a></div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_WebP_x64_0.0.8.zip" target="_blank" style="line-height: 20.3999996185303px;">zip download</a><span style="line-height: 20.3999996185303px;"> (for</span><span style="line-height: 20.3999996185303px;"> </span><span style="line-height: 20.3999996185303px;">64-bit version)</span><br></div></div><div><span style="line-height: 20.3999996185303px;"><br></span></div><div><div style="line-height: 20.3999996185303px;"><b style="line-height: 20.3999996185303px;"><font face="Arial, helvetica, sans-serif" size="3">[Plugin SDK]</font></b></div></div><div><div style="line-height: 20.3999996185303px;"><a href="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_SDK_1.0.8.zip" target="_blank">zip download</a></div></div><div><br></div></div></div></div></div></div></div>
<p class="infoAuthor"><span><dfn>Posted</dfn> by</span> <cite class="author">nyam</cite></p>
</div>
<div style="display:none">
<abbr class="updated" title="2015-12-16T22:05:27+09:00">2014/11/30 18:54</abbr>
<abbr class="published" title="2014-11-30T18:54:54+09:00">2014/11/30 18:54</abbr>
</div>
<div class="miscInfo">
<dl>
<dt class="postTag">Tag</dt>
<dd><a href="http://www.nyam.pe.kr/blog/tag/7-zip" rel="tag">7-zip</a>,
<a href="http://www.nyam.pe.kr/blog/tag/ALZ" rel="tag">ALZ</a>,
<a href="http://www.nyam.pe.kr/blog/tag/ARJ" rel="tag">ARJ</a>,
<a href="http://www.nyam.pe.kr/blog/tag/Digital%20Camera%20Raw" rel="tag">Digital Camera Raw</a>,
<a href="http://www.nyam.pe.kr/blog/tag/HD%20Photo" rel="tag">HD Photo</a>,
<a href="http://www.nyam.pe.kr/blog/tag/Imagine" rel="tag">Imagine</a>,
<a href="http://www.nyam.pe.kr/blog/tag/JBIG" rel="tag">JBIG</a>,
<a href="http://www.nyam.pe.kr/blog/tag/JPEG%202000" rel="tag">JPEG 2000</a>,
<a href="http://www.nyam.pe.kr/blog/tag/LZH" rel="tag">LZH</a>,
<a href="http://www.nyam.pe.kr/blog/tag/OpenEXR" rel="tag">OpenEXR</a>,
<a href="http://www.nyam.pe.kr/blog/tag/Plugin" rel="tag">Plugin</a>,
<a href="http://www.nyam.pe.kr/blog/tag/SDK" rel="tag">SDK</a>,
<a href="http://www.nyam.pe.kr/blog/tag/WebP" rel="tag">WebP</a></dd>
извлечь все сылки
http://www.nyam.pe.kr/dev/imagine/download/plugin
в текстовый файл input.txt, чтобы он был такого содержания
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_0.0.5.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_7Z_x64_0.0.5.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_ALZ_0.0.4.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_ALZ_x64_0.0.4.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_Archive_0.0.6.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_Archive_x64_0.0.6.zip
и т.д.
Подскажи пожалуйста как из файла index.txt »
Приведите ссылку на этот файл, откуда он был взят.
41275jur
16-04-2017, 20:34
При помощи скрипта
"%~dp0\bin\curl" -O http://www.nyam.pe.kr/blog/entry/Imagine-Plugins
Создался файл Imagine-Plugins, после переименовал в файл index.txt.
Я понимаю что это сделано через одно место и не профессионально, но я пытался рассмотреть разные варианты.
Я нашел в нете скрипт и подредактировал под скачивания с этого сайта
@Echo off
REM переключаемся на Windows - кодировку
chcp 1251 >NUL
Setlocal Enabledelayedexpansion
rem Определяем наличие прокси. Бывает полезно, если ПК в домене.
Set $X=&Set $R=HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
For /F "Tokens=1,3" %%i In ('REG Query "%$R%"^|Find "Proxy"') Do Set %%i=%%j
If "%ProxyEnable%"=="0x1" Set $X=-x %ProxyServer%
rem Перебор значений от 10 до 0 с шагом убывания 1
for /l %%a in (10,-1,0) do (
for /l %%b in (10,-1,0) do (
for /l %%c in (10,-1,0) do (
rem Если маркерная переменная не создана
If Not Defined flg (
title Пытаемся скачать Imagine %%c.%%b.%%a_x64_Unicode
Set fSURL=http://www.nyam.pe.kr/dev/imagine/download/x64/unicode/Imagine_%%c.%%b.%%a_x64_Unicode.zip
rem Если файл существует, смотрим его свойства
bin\curl.exe -f -s -I !fSURL! %$X%|Find " 200 OK" >Nul
If ErrorLevel 0 (
rem Перебирая свойства файла, смотрим является ли он архивом zip
For /F "Skip=1 Tokens=1* Delims=: " %%i In ('bin\curl.exe -f -s -I "!fSURL!" %$X%') Do Set %%i=%%j
If /I "!Content-Type!"=="application/zip" (
Echo.
Echo Выполняется скачивание Imagine %%c.%%b.%%a_Unicode.zip ...
rem Процедура скачивания файла с прогресс-баром
bin\curl.exe -f -# -O "!fSURL!" %$X%
rem Завершаем перебор значений, создаём маркерную переменную
set flg=1
))))))
Он сильно долго отсчитывает версию программы.
Так как надо скачать еще
http://www.nyam.pe.kr/dev/imagine/download/unicode/Imagine_%%c.%%b.%%a_Unicode.zip
и 12 Plugin, а прикрепить ссылки к этому скрипту не смог и совместить в один bat файл несколько таких скриптов не получилось, скачивается только одна ссылка.
При помощи этого скрипта будут скачиваться файлы очень долго.
Нашел на форуме
@Echo Off
SetLocal EnableExtensions
Set FN=input.txt
For /F "Delims=" %%I In (%FN%) Do wget %%I
При помощи wget из файла input.txt скачивается быстро, поэтому и возник этот вопрос - как напичкать input.txt ссылками.
41275jur, понимаете, в чём дело… Пакетные файлы весьма слабо подходят для реализации данной задачи. В принципе.
Лучше всего будет PowerShell, в первую очередь — из-за обилия возможностей.
Ну, вот, зачем:
rem Перебор значений от 10 до 0 с шагом убывания 1
for /l %%a in (10,-1,0) do (
for /l %%b in (10,-1,0) do (
for /l %%c in (10,-1,0) do (
?! Надо брать страницу загрузки: :: Imagine - Image & Animation Viewer for Windows / Windows용 이미지 & 애니메이션 뷰어 (http://www.nyam.pe.kr/blog/entry/Imagine), загружать её, парсить на предмет ссылок, фильтровать из них те, что ведут к загрузкам файлов, например:
http://www.nyam.pe.kr/dev/imagine/download/x64/unicode/Imagine_1.0.9_x64_Unicode.zip
http://www.nyam.pe.kr/dev/imagine/download/x64/setup/unicode/Imagine_1.0.9_x64_Unicode.exe
и т.д, дальше загружать потребные. Точно так же с плагинами. И это будет работать, пока на странице будут ссылки, и пока вид этих ссылок не изменится.
Опишите, что именно Вы хотите получить. Не как, не каким путём, а что получить, зачем, и что планируется с полученным делать дальше.
41275jur, помойму ты не в ту сторону смотришь. ЕЯПП, то вот что я делаю в таких случаях:
Фуррифокс + CustomButtons
Кнопка "Взять все ссылки на странице"
/* Code */
getUrls();
// --------------------------- Взять все Ссылки на странице ----------------------------------------------------------------
function getUrls() {
var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
file.append("custombuttons");
file.append("urllist" + Math.random() + ".txt");
var win = document.commandDispatcher.focusedWindow, doc = win.document;
var sel = doc, winSel = win.getSelection();
if(winSel.toString()){
sel = doc.createElement('div');
sel.appendChild(winSel.getRangeAt(0).cloneContents());
};
var str = '', links = sel.getElementsByTagName('a');
for(var i = 0, lnk; lnk = links[i]; i++) {
if(lnk.href)str += lnk.href + '\r\n'
};
gClipboard.write(getDomain());
foStream.init(file, 0x02|0x08|0x20, 0666, 0);
foStream.write(str, str.length);
foStream.close();
// можно просто сразу запустить файл с сылками в текстовом редакторе ОС по-умолчанию, блокноте напр.
// тогда то шо ниже разделителя убрать\закомментировать. Запустится файл .txt
// file.launch();
// ----------------
var filea = Services.dirsvc.get('ProfD', Ci.nsIFile);
filea.initWithPath(filea.path + "\\SOFT\\AkelPad-my\\AkelPad.exe");
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(filea);
process.run(false, [file.path], 1);
}
Получилсо файл в АкелPad со всеми ссылками с страницы.
Дальше сортируем (CTRL+A, ALT+P -> комманда плугина сортировать по-имени) и удаляем лишнее.
Получили список:
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_0.0.5.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_ALZ_0.0.4.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_Archive_0.0.6.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_DCRaw_0.0.6_GPL2.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_DCRaw_0.0.6_Source.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_HDPhoto_0.0.6.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_HV3_0.0.3.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_JBIG_0.0.3.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_JBIG_0.0.3_Source.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_JPEG2000_0.0.7.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_OpenEXR_0.0.1.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_RAR_0.0.4.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_SDK_1.0.8.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_WebP_0.0.8.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_7Z_x64_0.0.5.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_ALZ_x64_0.0.4.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_Archive_x64_0.0.6.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_DCRaw_x64_0.0.6_GPL2.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_HDPhoto_x64_0.0.6.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_HV3_x64_0.0.3.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_JBIG_x64_0.0.3.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_JPEG2000_x64_0.0.7.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_OpenEXR_x64_0.0.1.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_RAR_x64_0.0.4.zip
http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_WebP_x64_0.0.8.zip
http://www.nyam.pe.kr/dev/imagine/download/setup/unicode/Imagine_1.0.9.exe
http://www.nyam.pe.kr/dev/imagine/download/setup/unicode/Imagine_1.0.9_Unicode.exe
http://www.nyam.pe.kr/dev/imagine/download/unicode/Imagine_1.0.9.zip
http://www.nyam.pe.kr/dev/imagine/download/unicode/Imagine_1.0.9_Unicode.zip
http://www.nyam.pe.kr/dev/imagine/download/x64/setup/unicode/Imagine_1.0.9_x64_Unicode.exe
http://www.nyam.pe.kr/dev/imagine/download/x64/unicode/Imagine_1.0.9_x64_Unicode.zip
Качаем его через wget -i
+
Если часто нужно, то в АкелПад на панели сделана у мя еще одна кнопка, где прописан wget с путем и коммандами:
"Загрузить этот список в WGET -i" Exec(`"%COMMANDER_PATH%\SOFT\Console\wget\wgetfile.cmd" "%f"`) Icon("%SYSTEMROOT%\System32\cmd.exe")
wgetfile.cmd примерно такой:
@echo off
@chcp 866 >nul
@set urls=%1
rem set /P ref= укажи какой referer отправлять для сайта (обычно домен страницы):
set /p ref=<%urls%
for /f "delims=/ tokens=2" %%a in ("%ref%") do set ref=%%a
echo ^ -------------------------------------------------------------------------
set /P fname=Имя папки если нужно:
@set fname=%fname: =_%
echo ^ -------------------------------------------------------------------------
rem взять дату заменить точки на подчеркивание, развернуть сначала год_месяц_день
@for /f "delims=. tokens=1,2,3" %%i in ("%date%") do set d=%%k_%%j_%%i
@set wgetdirWin=D:\WgetD\%d%\%fname%
if not exist %wgetdirWin% md %wgetdirWin%
@set wgetdir=/cygdrive/d/WgetD/%d%/%fname%
@set ua="Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0"
rem -------------------------------------------------------------------------
:DEFAULT
echo %ref% >>%wgetdirWin%urllist.txt
echo %url% >>%wgetdirWin%urllist.txt
echo ^------------------------------------------------------------------------- >>%wgetdirWin%urllist.txt
"%~dp0wget.exe" -cN --referer=%ref% -U
% --content-disposition --no-use-server-timestamps --restrict-file-names=nocontrol,windows -P %wgetdir% -i %urls%
if %ERRORLEVEL% equ 0 exit else pause
exit
exit
Качаются списки, складываются в папку с датой и\или введенным именем.
41275jur
17-04-2017, 06:51
Iska, хочу создать автоматическое обновление программ для внутренних ассоциаций в Total Commander.
и что планируется с полученным делать дальше »
После скачивания - файлы распаковать, скопировать настройки, очистить папку с программой и переместить полученное в нее.
С распаковкой, копированием и т. д. я разобрался по мере своих возможностей, а вот со скачиванием - нет.
Лучше всего будет PowerShell »
Я в Bat с трудом разбираюсь, а PowerShel я запустить даже толком не могу. Как то Bat более ближе.
41275jur
17-04-2017, 17:45
ПопробЫвал разобраться с PowerShell и вот что получилось
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Add-Type -AssemblyName System.Drawing
$SiteAdress = "http://www.nyam.pe.kr/blog/entry/Imagine"
$HttpContent = Invoke-WebRequest -URI $SiteAdress
$HttpContent.Links | Foreach {$_.href }
$HttpContent.Links | Out-File temp.txt
Get-Content temp.txt | Select-String "Unicode.zip" | Out-File temp1.txt
Remove-Item -Path "temp.txt"
Get-Content temp1.txt | Select-String "outerHTML" | Out-File temp.txt
Remove-Item -Path "temp1.txt"
gc temp.txt | where {$_ -ne ""} > temp1.txt
Remove-Item -Path "temp.txt"
start 'wget.cmd' -Wait
Remove-Item -Path "temp1.txt"
И файл wget.cmd
@Echo Off
%~dp0\bin\win_iconv -f UTF-16LE -t UTF-8 "temp1.txt" > "index.txt"
for /f delims^=^"^ tokens^=2 %%i in (index.txt) do "%~dp0\bin\wget.exe" %%i
Не знаю насколько правильно, но получается скачивать.
Хотелось бы узнать такой вопрос:
если в Bat файле пишем, например %~dp0\bin\wget.exe, то как пишется в PowerShell?
как в PowerShell сделать выходной текстовый файл в кодировке UTF-8
Iska, хочу создать автоматическое обновление программ для внутренних ассоциаций в Total Commander. »
Не могли бы Вы пояснить детально на данном конкретном примере.
После скачивания - файлы распаковать »
Куда распаковать?
скопировать настройки »
Какие настройки, откуда скопировать?
очистить папку с программой »
Где она расположена? Она была туда установлена, или туда были просто извлечены файлы из zip-архива?
Я в Bat с трудом разбираюсь, а PowerShel я запустить даже толком не могу. Как то Bat более ближе. »
41275jur, а тут и выбора-то особого нет. Пакетные файлы в принципе не годятся для целостного решения такой задачи, WSH может использоваться ограниченно.
41275jur
17-04-2017, 19:52
Не могли бы Вы пояснить детально на данном конкретном примере. »
Пример обновления AIMP.
Создал в %COMMANDER_PATH% папку update
Структура папки
\update\
|---AIMP.cmd
|---AIMP_options
| |---Profile
| | |---AIMP-ContextMenu.ini
| | |---AIMP.bak
| | |---AIMP.ini
| | |---CDDB.db
| | |---EQPresetsLibrary.ini
| | |---AudioLibrary
| | | `---Local.db
| | |---PLS
| | `---Skins
| | `---Blackd.acs3.ini
| `---Skins
| |---Barracuda.acs2
| `---Blackd.acs3
|---bin
| |---curl.exe
| |---libeay32.dll
| |---libiconv2.dll
| |---libintl3.dll
| |---libssl32.dll
| |---robocopy.exe
| `---wget.exe
|---Downloads
|---manifest
| |---wget-1.11.4-1-dep.mft
| `---wget-1.11.4-1-dep.ver
`---share
`---locale
`---ru
`---LC_MESSAGES
`---wget.mo
Написал скрипт AIMP.cmd
@Echo Off
REM переключаемся на Windows - кодировку
chcp 1251 >NUL
:: Скачиваем программу с сайта в пупку %COMMANDER_PATH%\update
"%COMMANDER_PATH%\update\bin\curl" -O http://www.aimp.ru/index.php?do=download
ren "*.php_do=download" "*.txt"
FindStr /C:"http://aimp.su/storage" index.txt >"temp.txt
del "index.txt"
rename "temp.txt" "index.txt"
for /f delims^=^"^ tokens^=2 %%i in (index.txt) do "%COMMANDER_PATH%\update\bin\wget.exe" %%i
:: Переименовываем файл
rename "*.exe" "aimp.exe"
:: Распаковываем портативную программу в папку TEMP
start /wait aimp.exe /AUTO="%TEMP%\Aimp\" /PORTABLE /SILENT
:: Копируем файлы и папки из TEMP\Aimp в папку %COMMANDER_PATH%\update\Downloads\Aimp
"%~dp0\bin\robocopy" "%TEMP%\Aimp" "%~dp0\Downloads\Aimp" /MOVE /E
:: Очищаем папку TEMP и удаляем некоторые файлы из папки %COMMANDER_PATH%\update\Downloads\Aimp
DEL /F /S /Q /A "%TEMP%\*"
DEL "%COMMANDER_PATH%\update\Downloads\Aimp\Uninstall.*"
DEL /Q "%COMMANDER_PATH%\update\Downloads\Aimp\Skins\*.*"
:: Копируем свои настройки из %COMMANDER_PATH%\update\AIMP_options в %COMMANDER_PATH%\update\Downloads\Aimp
"%~dp0\bin\robocopy" "%~dp0\AIMP_options" "%~dp0\Downloads\Aimp" /S /E
:: Подчищаем
DEL /Q "aimp.exe"
DEL /Q "index.txt"
:: Чистка папки с программой в %COMMANDER_PATH%\Utilites\Audio\AIMP
DEL /F /S /Q /A "%COMMANDER_PATH%\Utilites\Audio\AIMP"
set delfolder=%COMMANDER_PATH%\Utilites\Audio\AIMP
pushd "%delfolder%"
rmdir /s /q "%delfolder%"
popd
:: Копируем папки и файлы из %COMMANDER_PATH%\update\Downloads\Aimp в %COMMANDER_PATH%\Utilites\Audio\AIMP
"%~dp0\bin\robocopy" "%~dp0Downloads\Aimp" "%COMMANDER_PATH%\Utilites\Audio\AIMP" /MOVE /E
:: Чистим папку %COMMANDER_PATH%\update\Downloads
DEL /F /S /Q /A "%COMMANDER_PATH%\update\Downloads"
set delfolder=%COMMANDER_PATH%\update\Downloads
pushd "%delfolder%"
rmdir /s /q "%delfolder%"
popd
EXIT
При условии скрипт нужно запускать при запущенном Total Commander
41275jur
17-04-2017, 20:09
Куда распаковать? »
В структуре папки update есть папка Downloads, скачивать в нее или как в примере AIMP, где находится файл скрипта.
Какие настройки, откуда скопировать? »
В папке update\AIMP_options, ложишь свои настройки.
Где она расположена? Она была туда установлена, или туда были просто извлечены файлы из zip-архива? »
Я создал собственную сборку Total Commander и все программы там портативные с сайтов разработчиков, кроме некоторых платных.
Меня интересуют бесплатные программы с сайтов, где есть портативные программы.
Пример обновления AIMP. »
Разве это «данный конкретный пример»? Речь ведь у нас с Вами шла про Imagine. Ну, нет у меня желания скакать туда-сюда-обратно.
Вот примерная, криво- и косорылая болванка кода для Imagine (я понимаю, конечно, что код — ужас-ужас-ужас), проверялся под PowerShell 5.0:
#http://www.nyam.pe.kr/dev/imagine/download/unicode/Imagine_1.0.9_Unicode.zip
$oUri = New-Object -TypeName 'System.Uri' -ArgumentList 'http://www.nyam.pe.kr/blog/entry/Imagine'
$oRegExp4DownloadFileName = New-Object -TypeName 'System.Text.RegularExpressions.Regex' `
-ArgumentList '^http://www\.nyam\.pe\.kr/dev/imagine/download/unicode/(Imagine_[\d\.]+_Unicode\.zip)$', $([System.Text.RegularExpressions.RegexOptions]::IgnoreCase)
$oRegExp4ProductVersion = New-Object -TypeName 'System.Text.RegularExpressions.Regex' `
-ArgumentList '^http://www\.nyam\.pe\.kr/dev/imagine/download/unicode/Imagine_([\d\.]+)_Unicode\.zip$', $([System.Text.RegularExpressions.RegexOptions]::IgnoreCase)
$sExpandPath = '.\Imagine'
$sExpandFileName = 'Imagine.exe'
$sExpandFullName = "$sExpandPath\$sExpandFileName"
Write-Host "Update checking…"
try {
$oHtmlWebResponseObject = Invoke-WebRequest -Uri $oUri -UseBasicParsing -ErrorAction Stop
} catch {
$oHttpStatusCode = $_.Exception.Response.StatusCode
Write-Host "Can't load [$($oUri.AbsoluteUri)] ($($oHttpStatusCode.value__): $oHttpStatusCode)"
}
$oHtmlWebResponseObject.Links | ForEach-Object -Process {
$sHRef = $_.href
if($oRegExp4DownloadFileName.IsMatch($sHRef)) {
$sDownloadFileName = $oRegExp4DownloadFileName.Matches($sHRef).Item(0).Groups.Item(1).Value
$sDownloadProductVersion = $oRegExp4ProductVersion.Matches($sHRef).Item(0).Groups.Item(1).Value
Write-Host "Remote product version is [$sDownloadProductVersion]."
if(Test-Path -Path $sExpandFullName -PathType Leaf) {
$sExpandProductVersion = (Get-Item -Path $sExpandFullName).VersionInfo.ProductVersion
Write-Host "Local product version is [$sExpandProductVersion]."
} else {
$sExpandProductVersion = "0.0.0.0"
Write-Host "Local product not found."
}
if($sDownloadProductVersion -ne $sExpandProductVersion) {
Write-Host "Try downloading…"
(New-Object -TypeName 'System.Net.WebClient').DownloadFile($sHRef, $sDownloadFileName)
if(Test-Path -Path $sDownloadFileName -PathType Leaf) {
Write-Host "Unzip downloaded file [$sDownloadFileName] into [$sExpandPath]…"
Expand-Archive -Path $sDownloadFileName -DestinationPath $sExpandPath -Force | Out-Null
Write-Host "Ready."
} else {
Write-Host "Not found downloaded file [$sDownloadFileName]."
}
} else {
Write-Host "Current version [$sExpandProductVersion] is up to date."
}
}
}
Загружаем страницу html со ссылками на загрузку, проверяем все ссылки, сверяясь по регулярке, при совпадении вычленяем из ссылки номер версии, который сравниваем с версией исполняемого файла в каталоге .\Imagine (если таковой каталог и файл наличествуют), при разнице в версиях или отсутствии локального файла производим загрузку и распаковку архива в указанный каталог. Приведённый алгоритм применим только к данному конкретному продукту. Для других приложений он может заметно отличаться — ссылка на загрузку может не содержать имя файла, номер версии нужно будет вычленять не по самой ссылке, а в теле той же или другой страницы, а то и вовсе сначала потребуется полная загрузка файла, и т.п. тонкости.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.