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

[原创教程] 批处理之家 js 在线脚本库

本帖最后由 CrLf 于 2016-1-12 15:47 编辑

咱自己的在线脚本库上线啦~
目前的库共有 64 个,涵盖框架、在线获取第三方工具、模拟对象、语法增强、dom 操作、格式转换、文本解析、常用函数、网页特效等范畴
依托于 bathome,因服务器每日维护的原因,大约在凌晨3点~4点之间无法访问

脚本库暂由本人编写收集和维护,json 格式的在线 js 库列表见 http://www.bathome.net/lib/bathomeLib.json,最后更新于 2015-12-24,总数 64 个
第三方工具库则依托 Batch-CN,table 格式的第三方工具列表见 http://batch-cn.qiniudn.com/list/tool.txt,最后更新于 2015-12-30,总数 1200 个
路径区分大小写,bathomeLib.json 和 bathomeLib.JSON 不同
建议通过 Libs.js 的 Libs.get 方法、以及用 Tools.js 的 Tools.get 来调用脚本和下载第三方,可兼容大小写,例如 Libs.get('WSH') 和 Libs.get('wsh') 是等价的


该脚本库主要用于 hta 环境,尤其适合用在在线 HTA 脚本bat+hta 混编的情况下
这里举几个例子:

第一个例子,隐藏下载指定的第三方工具
(由 Batch-CN 提供)
请保存为 .bat 后缀名:
  1. <!-- :
  2. @echo off & ( break >"%~f0:Zone.Identifier" ) 2>nul
  3. mshta "%~f0"
  4. printf.exe "你好,我是printf.exe\n"
  5. pause
  6. -->
  7. <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
  8. <script src=http://bbs.bathome.net/lib/diy/Tools.js></script>
  9. <script>
  10. Tools.get('printf')
  11. //调用 Tools 对象的 get 方法在线获取第三方工具 printf
  12. //若已经存在可调用的 printf.exe,则不重复下载
  13. //引用 Batch-CN 的集成资源,感谢 bailong360 提供帮助
  14. </script>
复制代码
示例脚本:

第二个例子,解析地址中的变量和命令行参数
利用 WSH.js 模拟出 WSH 环境(相似度>90%)
请保存为 .bat 后缀名:
  1. @echo off
  2. mshta "%~f0" 【0】开关测试 "【1】嵌套的""测试"   "【2】单个参数测试","【3】其他分隔符测试" | more
  3. pause&exit
  4. >>>>>>>>>>
  5. <script src=http://www.bathome.net/lib/diy/Libs.js></script>
  6. <script>
  7. Libs.get('WSH')
  8. Libs.get('hide')
  9. </script>
  10. <script>
  11. for(var i=0;i<WScript.Arguments.length;i++){
  12.         WSH.Echo(WScript.Arguments(i))
  13. }
  14. </script>
复制代码
示例脚本:

第三个例子,在一个标签中使用所有语言
使用 code.js 解析 language=code 的 script 节点,并处理为
这里用不到批处理,所以保存为 .hta 就好了:
  1. <script src=http://www.bathome.net/lib/diy/hide.js></script>
  2. <script src=http://www.bathome.net/lib/diy/code.js></script>
  3. <script src=http://www.bathome.net/lib/coffeescript.js></script>
  4. <script language=code>
  5. -------VBScript------
  6. MsgBox "我是 VBScript"
  7. -------JavaScript------
  8. alert('我是 JavaScript')
  9. -------CoffeeScript------
  10. alert '我是 CoffeeScript'
  11. </script>
复制代码
这里 -------JavaScript------ 中的 - 也可以改用连续超过三次的其他部分字符
比如 ###JavaScript###,或 ~~~JavaScript~~~
示例脚本:


友情提示
如果运行前出现这个提示,请取消“打开此文件前总是”,然后点击运行:

或者在文件属性里点击解除锁定亦可
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
6

评分人数

Math.js 好像无了
http://www.bathome.net/lib/Math.js

TOP

vbs  diy        在 js 中模拟使用 vbs 代码        http://www.bathome.net/lib/diy/vbs.js;第一句重要代码var sc = new ActiveXObject('MSScriptControl.ScriptControl');win64位直接出错,搜也搜不到好的解决方法。

TOP

折腾数日,大功告成
等 Batcher 伤愈,哥来发一个牛逼哄哄的新玩具
2

评分人数

TOP

回头发一个更劲爆的玩意,还是这个系列,改进一下

TOP

回复 21# 依山居


    nice,不过其实之前有上传一个 ip.php 到咱网站:http://www.bathome.net/s/ip.php

TOP

回复 20# CrLf


    前些时间我也收集了一些,有些网站的接口是对curl的UA做了处理,如果是用curl访问的话,得到就是比较干净的文本。

http://my.oschina.net/ysj/blog/511724
  1. #满足了一下自己的搜集癖,搜集了不少可以用来查询外网IP的网址和方法。
  2. #国内某网站的接口,只返回IP
  3. curl ip.6655.com/ip.aspx
  4. curl whatismyip.akamai.com
  5. #更多用法访问ifconfig.co
  6. wget -qO - ifconfig.co
  7. curl icanhazip.com
  8. dig +short myip.opendns.com @resolver1.opendns.com
  9. curl ident.me
  10. curl v4.ident.me
  11. curl v6.ident.me
  12. #慢
  13. curl curlmyip.com
  14. curl ifconfig.me
  15. curl inet-ip.info
  16. #返回IP和地区
  17. curl ip.6655.com/ip.aspx?area=1
  18. curl ip.cn
  19. curl cip.cc
  20. curl ipip.net
  21. #需要翻x墙,只返回IP
  22. curl ip.appspot.com
  23. #参考 http://unix.stackexchange.com/questions/22615/how-can-i-get-my-external-ip-address-in-bash
  24. #有人给了以下测试方法
  25. wget https://raw.githubusercontent.com/rsp/scripts/master/externalip-benchmark
  26. chmod a+x externalip-benchmark
  27. ./externalip-benchmark
  28. #返回JSON格式的数据
  29. C:\>curl httpbin.org/get
  30. {
  31.   "args": {},
  32.   "headers": {
  33.     "Accept": "*/*",
  34.     "Host": "httpbin.org",
  35.     "User-Agent": "curl/7.28.1"
  36.   },
  37.   "origin": "222.216.164.78",
  38.   "url": "http://httpbin.org/get"
  39. }
  40. C:\>curl httpbin.org/ip
  41. {
  42.   "origin": "116.11.199.77"
  43. }
复制代码

TOP

回复 16# yu2n


    搜了一下,发现已经有很多类似接口,有的甚至能直接返回 js 代码,就不搞了
    不过都是 ip 相关的,没找到干净返回时间的接口
    url 已更新到2楼

TOP

回复 18# yu2n


    有哪些比较好的库是 ie6 下能用的,推荐几个呗?
    也欢迎自己实现,写好后如果完整、安全而且语法不至于太过怪异的话,我也把它加到在线库里去

TOP

回复 17# CrLf

Windows Server 2003 的 IE6 测试 HTA 有问题。
可能是安全性方面的原因吧。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 16# yu2n


    忘了加…
    特地挑了支持 ie6 ie7 的库啊,本来还有 d3.js,后来都撤了,xp 上的 mshta 好像就是 ie6 内核的
    ip 好办,回头集成一个集校时、显 ip 于一身的库

TOP

严重支持。

自写库为什么不署上自己的大名呢?

抛弃了IE6?

来个客户端IP显示功能吧。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

本帖最后由 CrLf 于 2015-3-28 12:40 编辑

自写库之常用函数:

Function

各种自定义的常用函数,基于 WSH.js 和 Prototype.js
http://www.bathome.net/lib/diy/Function.js

直接运行生效,提供 getopts、type、echo、download、clone 等函数
是比较基础的函数集

例如
  1. <script src=http://www.bathome.net/lib/Prototype.js></script>
  2. <script src=http://www.bathome.net/lib/diy/WSH.js></script>
  3. <script src=http://www.bathome.net/lib/diy/Function.js></script>
  4. <script>
  5. download('http://bbs.bathome.net/index.php')
  6. //下载批处理之家的首页
  7. alert(getopts('命令行 "切分 测试"'))
  8. //按 windows 下的规则切分命令行参数
  9. close()
  10. </script>
复制代码
示例脚本:

GetRequest

用于取得URL地址中的变量
http://www.bathome.net/lib/diy/GetRequest.js

直接运行生效,提供 GetRequest 函数

例如
  1. <script src=http://www.bathome.net/lib/diy/GetRequest.js></script>
  2. <script>
  3. var values = GetRequest()
  4. //获取URL中的变量,保存在对象中
  5. alert(values['批处理之家'])
  6. alert(values['楼主'])
  7. //显示URL中指定对象的变量值
  8. close()
  9. </script>
复制代码
示例脚本:

ch2num

阿拉伯数字与中文数字互转
http://www.bathome.net/lib/diy/ch2num.js

直接运行生效,提供 ch2num、num2chs、num2cht、num2sum 函数

例如
  1. <script src=http://www.bathome.net/lib/diy/ch2num.js></script>
  2. <script>
  3. alert(ch2num('中文数字壹佰叁拾贰万肆仟贰佰壹拾叁圆肆角贰分'))
  4. //大写数字转小写
  5. alert(num2chs('阿拉伯数字1324213.42'))
  6. //小写数字转大写
  7. close()
  8. </script>
复制代码
示例脚本:
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
1

评分人数

TOP

本帖最后由 CrLf 于 2015-3-28 12:39 编辑

自写库之信息枚举:

list

用于罗列各种信息的自定义的函数
http://www.bathome.net/lib/diy/list.js

直接运行生效,提供 list 函数及其子函数

例如
  1. <script src=http://www.bathome.net/lib/diy/list.js></script>
  2. <script>
  3. var mapobject = {a:123,b:456}
  4. alert(list(mapobject).join('\n'))
  5. //列举对象的元素
  6. var comobject = list.com()
  7. alert('本机已注册的组件数量为:' + comobject.length)
  8. //获取已注册的组件数量
  9. close()
  10. </script>
复制代码
示例脚本:
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

本帖最后由 CrLf 于 2015-3-28 12:38 编辑

自写库之编码转换:

iconv

字符编码转换
http://www.bathome.net/lib/diy/iconv.js

直接运行生效,提供 iconv 函数及其子函数

例如
  1. <script src=http://www.bathome.net/lib/diy/iconv.js></script>
  2. <script>
  3. var utf8string = '鎵瑰鐞嗕箣瀹讹紝浣犲ソ'
  4. var gb2312string = iconv(utf8string,'utf-8','gb2312')
  5. alert(gb2312string)
  6. //调用 iconv 函数转换字符串
  7. iconv.saveText(gb2312string,'文本.txt','gb2312')
  8. //调用 iconv.saveText 将字符串以 gb2312 编码保存到文本
  9. close()
  10. </script>
复制代码
示例脚本:
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

返回列表