Board logo

标题: [文本处理] 批处理怎样调用Ariac2实现多镜像下载? [打印本页]

作者: 柚木八雲    时间: 2014-9-22 15:01     标题: 批处理怎样调用Ariac2实现多镜像下载?

先从一个Unicode文本提取(第一个问题来了,有方法不?指不用第三方工具,用VBS也行)
for /f %%l (link.txt) do (文本是: 文件名(可能有空格也可能带绰号因为可能有其它编码所以Link.txt是Unicode) 网址(带http://然后host有可能就host有引号) 然后是cookie(带引号)) (引用网址及UA都可选应该带绰号)
然后从文for /f %%h (host.txt) do (然后搜寻link.txt提取的主机看host.txt里面有没有没有就添加上去)
然后Ariac2 文件名 host1 host2 (host.txt里面的所有主机)(引用网址及UA都可选应该带绰号) cookie
作者: DAIC    时间: 2014-9-22 15:06

先从一个Unicode文本提取(第一个问题来了,有方法不?指不用第三方工具,用VBS也行)
  1. for /f %%l ('type "link.txt"') do (
  2.     echo %%l
  3. )
复制代码
先解决第一个问题
作者: DAIC    时间: 2014-9-22 15:07

link.txt
host.txt
把这两个文件压缩,上传,我试试。
作者: 柚木八雲    时间: 2014-9-22 15:26

[Windows.命令行详解手册(第2版)].William.R.Stanek.扫描版.pdf "http://dl4.c24.sendfile.vip.xunlei.com:8000/%5BWindows%2E%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%AF%A6%E8%A7%A3%E6%89%8B%E5%86%8C%EF%BC%88%E7%AC%AC2%E7%89%88%EF%BC%89%5D%2EWilliam%2ER%2EStanek%2E%E6%89%AB%E6%8F%8F%E7%89%88%2Epdf?key=217c07c6643a07c27d552231a98c117f&file_url=%2Fgdrive%2Fresource%2F08%2FC2%2F0809D138AEF86CFF491D4B3C84BC9400692396C2&file_type=0&authkey=DB2DDD8C569C7AC5363640CF990CDA0988E6B7B773018AE8CED3F9F2A76A9DDF&exp_time=1412234659&from_uid=46109580&task_id=6061790805760485122&get_uid=1000927737&f=lixian.vip.xunlei.com&reduce_cdn=1&fid=37uhbL7a2+1zbblQwExGtQANokoeN4UCAAAAAAgJ0Tiu+Gz/SR1LPIS8lABpI5bC&mid=666&threshold=150&tid=4A4A34E61CA24CF9EBAD2132C14DD9DE&srcid=7&verno=1# " "lx_login_auto=1; gdriveid=B26FE62C79504AA7E4641A1ABCE9E41F; pagenum=9999; 273416134_6058096592719993858=c9f597ed1e4bf2c3c9284d33a6900a1e; 1001205057_6058096416626334466=4e49af62c82063ed32513df47daa6a8e; 1001205057_6058096605604896258=6e38d371739a4c552597b1b0a8613f6d; 1001205057_6058096618489798402=982d446da162f6ef9299558a691a7cae; 46109580_6058683134930070018=21f700d3f52a4d797fc05d58a18ba1f7; 1006206848_6058931839306913794=ad24c66938fd612e5881e60f01201f7b; 46109580_6059016716450735106=24175614c2b63fbd8029fa4671f2c8b6; 46109580_6059026354357353986=a4fe706d7d1b2c44bfba6a110031d1e2; gdriveid=DB87BC9929834BC374121C8944AD760B; 1000927737_6061506624953644034=83db4d08f48cf7c7220d06ba718b6e5f; 1000927737_6061790805760485122=1d34cf3b8e8fd13caa4e9a3e7019baa4; " http://kuai.xunlei.com/d/jJO-AgInFQCfzh9U22d
作者: 柚木八雲    时间: 2014-9-22 15:27

host.link暂时是空的,现在靠link.txt里面的主机添加
作者: 柚木八雲    时间: 2014-9-22 15:30

回复 2# DAIC


一闪就没了呢
作者: DAIC    时间: 2014-9-22 16:05

回复 6# 柚木八雲


最后加一行:
pause

这样就不闪了
作者: DAIC    时间: 2014-9-22 16:05

回复 4# 柚木八雲


    把这link.txt压缩,上传,我试试。
作者: 柚木八雲    时间: 2014-9-22 18:10

回复 8# DAIC


这个UA好像没捕获到,""他有些不一定,比如文件名可能有也可能没有
作者: 柚木八雲    时间: 2014-9-22 18:16

回复 8# DAIC
大概是这样,这简单的没有文件名、cookie referer及ua
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. ::从Unicode编码的list.txt提取host,后面网址为变量
  4. for /f "delims=/ tokens=2,3"%%l in ('type "list.txt"') do (
  5. ::从host.txt匹配host%%l,没有则添加>>host.txt
  6. SET str=%%m
  7.     FOR /f %%h in (host.txt) do(
  8. ::本来还想加个for /f 提取文件名及cooike及referer ua   
  9.         IF NOT /I %%h EQU %%l (ariac2 host.txt里面host和网址后面的%str% cookie referer ua) ELSE (
  10.         echo %%l>>host.txt
  11.     )
  12. )
复制代码
但echo %%l>>host.txt
会加第二行for找的次数
如果host.txt如果就空的(大概for不会运行吧),而%%l也不会添加到
作者: 柚木八雲    时间: 2014-9-24 17:01

[attach]7711[/attach]
作者: Batcher    时间: 2014-9-24 17:44

  1. @echo off
  2. for /f "tokens=2 delims=/" %%i in (a.txt) do (
  3.     findstr /c:"%%i" host && call :FileExist "%%i" || call :FileNotExist "%%i"
  4. )
  5. for /f "delims=" %%i in (host) do (
  6.     set /p =%%i <nul
  7. )
  8. echo,
  9. goto :end
  10. :FileExist
  11. echo 存在
  12. goto :eof
  13. :FileNotExist
  14. echo 不存在,开始添加
  15. >>host echo,
  16. >>host echo %~1
  17. echo 添加完毕
  18. goto :eof
  19. :end
  20. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2