[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】批处理+JS组合下载wget程序无效

前段时间,有大侠帮我解决了批处理配合js实现自动下载wget程序到本地系统.
当时中间的电脑确实实现了,但今天到左右两边的电脑测试就通不过了
先提供下载代码
  1. <!-- :
  2. @echo off
  3. mshta "%~f0"
  4. goto run
  5. -->
  6. <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
  7. <script src=http://bbs.bathome.net/lib/diy/Tools.js></script>
  8. <script>
  9. Tools.get('wget','c:/windows/system32')
  10. </script>
复制代码
然后出现如下图所示错误提示:

如果出现这种情况,是不是官方的JS有缺陷,还是我本身的电脑缺少什么组件,又怎么解决呢?请大侠指教!

都重新装了IE8的

回复 2# CrLf


   能直接读取这个TXT

TOP

本帖最后由 447219071 于 2015-10-24 19:56 编辑

回复 4# CrLf


    我的系统是XP SP3的
刚试了这个,没有错误提示
返回结果为:
网址为http://batch-cn.qiniudn.com/list/tool.txt?0.7521945891672119
httpbect
staus=403
网址为http://batch-cn.qiniudn.com/list ... ?0.4043633657653702
http:obect
staus=403
  1. <!-- :
  2. @mshta "%~f0" | more & pause
  3. -->
  4. <script src="http://www.bathome.net/lib/diy/WSH.js"></script>
  5. <script>
  6. var host = 'http://batch-cn.qiniudn.com/'
  7. var ar = getText(host+'list/tool.txt')
  8. var ar = getText(host+'list/tool.@version.txt')
  9. function getText(strUrl){
  10. WSH.Echo('网址为'+strUrl+'?'+Math.random())
  11. try{
  12. var http = new ActiveXObject("Msxml2.ServerXMLHTTP")
  13. WSH.Echo('http:'+typeof http)
  14. http.open("GET",strUrl+'?'+Math.random(),false)
  15. http.send()
  16. WSH.Echo('status='+http.status)
  17. if(http.status>=400)return
  18. var stream = new ActiveXObject("ADODB.Stream")
  19. stream.Type = 1
  20. stream.Mode = 3
  21. stream.open()
  22. stream.write(http.responseBody)
  23. WSH.Echo('Size='+stream.Size)
  24. stream.Position = 0
  25. stream.Type = 2
  26. stream.CharSet = 'gb2312'
  27. return stream.ReadText
  28. }
  29. catch(Err){WSH.Echo(Err.message)}
  30. }
  31. close()
  32. </script>
复制代码
这个能配合下载wget.exe到本地c:\windows\syste32文件夹内么

TOP

回复 8# CrLf


    返回结果为:
返回结果为:
网址为http://batch-cn.qiniudn.com/list/tool.txt?0.7521945891672119
httpbject
status=403
网址为http://batch-cn.qiniudn.com/list ... ?0.4043633657653702
http:object
status=403

TOP

回复 10# CrLf


    网址为http://batch-cn.qiniudn.com/list/tool.txt?0.6382176056701442
httpbject
status=403
网址为http://batch-cn.qiniudn.com/list ... 0.23986206796689885
http:object
status=403

TOP

回复 12# CrLf


    网址为http://batch-cn.qiniudn.com/list/tool.txt?0.6527020354398203
httpbject
status=200
size=41021
网址为http://batch-cn.qiniudn.com/list ... @0.5713456774284609
http:object
status=200
size=41668

TOP

回复 14# CrLf


    果然可以了,难道是你的这个代码起作用了?
  1. <!-- :
  2. @mshta "%~f0" | more & pause
  3. -->
  4. <script src="http://www.bathome.net/lib/diy/WSH.js"></script>
  5. <script>
  6. var host = 'http://batch-cn.qiniudn.com/'
  7. var ar = getText(host+'list/tool.txt')
  8. var ar = getText(host+'list/tool.@version.txt')
  9. function getText(strUrl){
  10. WSH.Echo('网址为'+strUrl+'?'+Math.random())
  11. try{
  12. var http = new ActiveXObject("Msxml2.ServerXMLHTTP")
  13. WSH.Echo('http:'+typeof http)
  14. http.open("GET",strUrl+'?'+Math.random(),false)
  15. http.send()
  16. WSH.Echo('status='+http.status)
  17. if(http.status>=400)return
  18. var stream = new ActiveXObject("ADODB.Stream")
  19. stream.Type = 1
  20. stream.Mode = 3
  21. stream.open()
  22. stream.write(http.responseBody)
  23. WSH.Echo('Size='+stream.Size)
  24. stream.Position = 0
  25. stream.Type = 2
  26. stream.CharSet = 'gb2312'
  27. return stream.ReadText
  28. }
  29. catch(Err){WSH.Echo(Err.message)}
  30. }
  31. close()
  32. </script>
复制代码
如果是这样,是不是还要配合这个先才能适合我的这个XP SP3系统?
请问怎么精简合成呢?》

TOP

本帖最后由 447219071 于 2015-10-25 23:57 编辑

回复 16# CrLf
这样不是办法
防盗链是为了原创而进行的保护,必不可少的
能否在官方tool.js上做下完善解决这种情况?

TOP

我现在在百度上搜索我想要的关键词,
官方网站是排在第一的,排名极棒

TOP

本帖最后由 447219071 于 2015-10-26 10:42 编辑

回复 19# CrLf
两边的电脑i不能运行之前的代码
执行这批处理结果如下:
  1. request_method=get
  2. http_user_agent=mozilla/4.0(compatible;win32;winhttp.winhttprequest.5)
  3. http_dnt=unknow
  4. http_referer=file://c:\documents and setting\administrator\桌面\1.bat
  5. http_accept_encoding=unknow
  6. http_accept_language=zh-cn
  7. http_cookie=unknow
复制代码
而中间可以运行之前的代码
执行这批处理结果如下:
  1. request_method=get
  2. http_user_agent=mozilla/4.0(compatible;win32;winhttp.winhttprequest.5)
  3. http_dnt=unknow
  4. http_referer=unknow
  5. http_accept_encoding=unknow
  6. http_accept_language=zh-cn
  7. http_cookie=unknow
复制代码
建议将执行结果输出到文本文件吧,也好复制

TOP

回复 21# CrLf
  1. request_method=get
  2. http_user_agent=mozilla/4.0(compatible;win32;winhttp.winhttprequest.5)
  3. http_dnt=unknow
  4. http_referer=http://bathome.tools.js/
  5. http_accept_encoding=unknow
  6. http_accept_language=unknow
  7. http_cookie=unknow
  8. 获取成功
  9. 获取成功
复制代码

TOP

回复 23# CrLf


    果然行了,这说明我反映的这确实是官方的BUG ,这下完善了,以后有问题我会反馈的

TOP

回复 2# CrLf
  1. <^!-- :
  2. @echo off
  3. mshta "%~f0"
  4. goto ok
  5. -->
  6. <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
  7. <script src=http://bbs.bathome.net/lib/diy/Tools.js></script>
  8. <script>
  9. Tools.get('wget','c:/windows/system32')
  10. </script>
复制代码
今天用上面的代码,却没有反应了
难道官方改了接口或文件地址

我的系统环境XP SP3
运行这个会在任务栏一直增加无数个mshta进程

TOP

回复 2# CrLf

今天在WIN7 32位系统中运行时出现如下图

而在XP 32位下出现如下图

前几个月还没有问题,今天试了居然出错了

行:11
Cher:1
错误:“Tools”未定义
代码:0
1

评分人数

    • CrLf: 感谢反馈技术 + 5

TOP

回复 16# CrLf


还没更新吧,运行提示:
当前页面脚本发生错误
行:0
cher:0
错误:script error
代码:0


点确定后提示:
当前页面脚本发生错误
行:11
cher:1
错误:“tools”未定义
代码:0

TOP

返回列表