Board logo

标题: [其他] [已解决]求助批处理下载代码 [打印本页]

作者: zjghjs    时间: 2015-3-20 09:51     标题: [已解决]求助批处理下载代码

本帖最后由 zjghjs 于 2015-3-23 12:18 编辑

想用批处理下载一文件(譬如:http://download.careland.com.cn/app/oem/201412/1204_C7K07.zip),但只知道C7K07的前三位C7K,后面的数字是多少不清楚(有可能是01~20之间的任一数),请问怎样在知道前三位数C7K的前提下,后面的01~20实现批处理自动查找到正确的并打开下载,谢谢!
注:除了07数字不确定外,这个http://download.careland.com.cn/app/oem/201412/1204_C7K07.zip中的其他都不变的。

新增加问题求助见14楼

谢谢!
作者: tigerpower    时间: 2015-3-20 13:19

本帖最后由 tigerpower 于 2015-3-20 13:23 编辑

Windows Vista以上版本运行以下命令:
  1. powershell -C "1..20|%{(New-Object system.net.WebClient).DownloadFile(($u='http://download.careland.com.cn/app/oem/201412/1204_C7K{0:00}.zip' -f $_),[System.IO.Path]::GetFileName($u))}"
复制代码

作者: zjghjs    时间: 2015-3-20 15:09

回复 2# tigerpower


    可我的是XP系统,能重新给我个批处理吗?
谢谢!!
作者: tigerpower    时间: 2015-3-20 15:54

本帖最后由 tigerpower 于 2015-7-4 06:51 编辑
  1. curl -LO http://download.careland.com.cn/app/oem/201412/1204_C7K[01-20].zip
复制代码

作者: pcl_test    时间: 2015-3-20 15:56

回复 1# zjghjs
第三方工具wget
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. md "下载\" 2>nul
  4. for /l %%a in (100 1 120) do (
  5. set n=%%a
  6. set n=!n:~1!
  7. wget -c "http://download.careland.com.cn/app/oem/201412/1204_C7K!n!.zip" -P "%~dp0\下载"
  8. )
  9. pause
复制代码

作者: pcl_test    时间: 2015-3-20 16:07

本帖最后由 pcl_test 于 2016-11-29 10:15 编辑

回复 1# zjghjs

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: zjghjs    时间: 2015-3-23 09:11

感谢楼上各位朋友的回复!
但我没有成功,希望哪位重新写个批处理,在我的XP系统上直接运行就能解决我的问题,再次谢谢!
作者: zjghjs    时间: 2015-3-23 09:18

回复 5# pcl_test


    用你的命令提示如下图
作者: pcl_test    时间: 2015-3-23 09:19

回复 8# zjghjs

要下载wget
作者: zjghjs    时间: 2015-3-23 09:21

回复 9# pcl_test


    在哪下载?能给我个地址吗?谢谢!
作者: pcl_test    时间: 2015-3-23 09:28

回复 10# zjghjs
http://bbs.bathome.net/viewthread.php?tid=3981
作者: zjghjs    时间: 2015-3-23 09:28

回复 9# pcl_test


    找到了,并且解决问题,正在下载我需要的文件中,再次感谢!!
作者: zjghjs    时间: 2015-3-23 10:30

回复 13# pcl_test


    还有一事请教:能否结合下面这个代码,实现在打开运行的批处理对话框中手动输入“1204_C7K”(因有还有可能想查找1205_C7K08、1228_A7K12),后面的“07”还是用自动查找得到。
@echo off


color 1a
echo     
echo     


echo          ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
echo         ┃ 版本号字母大写  如:(1204_C7K07)┃
echo          ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
echo     
echo     

set /p c= 请输入版本号:
echo         
echo      ▂▂▂▂▂▂▂▂▂▂▂▂▂▂
echo      版本号:%c%
echo      ▔▔▔▔▔▔▔▔▔▔▔▔▔▔
echo     
echo      

start http://download.careland.com.cn/app/oem/201412/%c%.zip

见下图:

再次感谢!!
作者: zjghjs    时间: 2015-3-23 10:55

回复 4# tigerpower


    先下载了,运行里边的“mk-ca-bundle.vbs”后提示如下图:

再运行你的代码,批处理对话框一闪而过……

这个问题解决了,原来下载的文件里缺少“curl.exe”文件


但用你这个代码会有一个问题:将所有的从1~20的都下载,见下图,其实真正有用的只有“1204_C7K07.zip”这个文件
作者: pcl_test    时间: 2015-3-23 11:21

本帖最后由 pcl_test 于 2015-3-23 11:23 编辑
  1. @echo off
  2. color 1a
  3. echo      ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
  4. echo     ┃ 版本号字母大写  如:(1204_C7K07) ┃
  5. echo      ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  6. set /p c= 请输入版本号:
  7. echo.   
  8. echo      ▂▂▂▂▂▂▂▂▂▂▂▂▂▂
  9. echo      版本号:%c%
  10. echo      ▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  11. echo.
  12. echo.
  13. setlocal enabledelayedexpansion
  14. md "下载\" 2>nul
  15. for /l %%a in (100 1 120) do (
  16. set n=%%a
  17. set n=!n:~1!
  18. wget -c "http://download.careland.com.cn/app/oem/201412/!c!!n!.zip" -P "%~dp0\下载"
  19. )
  20. endlocal
  21. pause
复制代码
回复 14# zjghjs
作者: zjghjs    时间: 2015-3-23 12:17

回复 16# pcl_test


    完美解决我的问题,非常非常感谢!!




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