(由 Batch-CN 提供)
请保存为 .bat 后缀名:示例脚本:[attach]9129[/attach]复制代码
- <!-- :
- @echo off & ( break >"%~f0:Zone.Identifier" ) 2>nul
- mshta "%~f0"
- printf.exe "你好,我是printf.exe\n"
- pause
- -->
- <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
- <script src=http://bbs.bathome.net/lib/diy/Tools.js></script>
- <script>
- Tools.get('printf')
- //调用 Tools 对象的 get 方法在线获取第三方工具 printf
- //若已经存在可调用的 printf.exe,则不重复下载
- //引用 Batch-CN 的集成资源,感谢 bailong360 提供帮助
- </script>
利用 WSH.js 模拟出 WSH 环境(相似度>90%)
请保存为 .bat 后缀名:示例脚本:[attach]8297[/attach]复制代码
- @echo off
- mshta "%~f0" 【0】开关测试 "【1】嵌套的""测试" "【2】单个参数测试","【3】其他分隔符测试" | more
- pause&exit
- >>>>>>>>>>
- <script src=http://www.bathome.net/lib/diy/Libs.js></script>
- <script>
- Libs.get('WSH')
- Libs.get('hide')
- </script>
- <script>
- for(var i=0;i<WScript.Arguments.length;i++){
- WSH.Echo(WScript.Arguments(i))
- }
- </script>
使用 code.js 解析 language=code 的 script 节点,并处理为
这里用不到批处理,所以保存为 .hta 就好了:这里 -------JavaScript------ 中的 - 也可以改用连续超过三次的其他部分字符复制代码
- <script src=http://www.bathome.net/lib/diy/hide.js></script>
- <script src=http://www.bathome.net/lib/diy/code.js></script>
- <script src=http://www.bathome.net/lib/coffeescript.js></script>
- <script language=code>
- -------VBScript------
- MsgBox "我是 VBScript"
- -------JavaScript------
- alert('我是 JavaScript')
- -------CoffeeScript------
- alert '我是 CoffeeScript'
- </script>
比如 ###JavaScript###,或 ~~~JavaScript~~~
示例脚本:[attach]8294[/attach]
名称 版本信息 | 帮助信息 | bathome 库地址 |
callBack diy | 创建各种回调函数,可用于辅助 Array.prototype.each | http://www.bathome.net/lib/diy/callBack.js |
ch2num diy | 阿拉伯数字与中文数字互转 | http://www.bathome.net/lib/diy/ch2num.js |
code diy | 可在一个标签里写入多种语言的脚本 | http://www.bathome.net/lib/diy/code.js |
console diy | 模拟一个 console 对象,并将其输出显示在当前窗口中。会导致当前窗口其他内容不可见 | http://www.bathome.net/lib/diy/console.js |
DIYprototype diy | 在 Prototype_MOD.js 的基础上增加了一些继承方法 | http://www.bathome.net/lib/diy/DIYprototype.js |
Function diy | 各种自定义的常用函数,基于 WSH.js 和 Prototype.js | http://www.bathome.net/lib/diy/Function.js |
GetRequest diy | 用于取得URL地址中的变量 | http://www.bathome.net/lib/diy/GetRequest.js |
hide diy | 隐藏 mshta 窗口,运行后将导致 setTimeout 和 setInterval 失效 | http://www.bathome.net/lib/diy/hide.js |
iconv diy | 字符编码转换 | http://www.bathome.net/lib/diy/iconv.js |
Libs diy | 创建一个 Libs 对象,用于管理批处理之家的脚本库 | http://www.bathome.net/lib/diy/Libs.js |
list diy | 用于罗列各种信息的自定义的函数 | http://www.bathome.net/lib/diy/list.js |
loadFirebug linkto 1.4.0 compressed | 调用后自动引用官网的 Firebug-lite.js。最强大的网页调试工具之一,按 F12 可呼出控制窗口 | http://www.bathome.net/lib/diy/loadFirebug.js |
mshta diy | 创建一个 mshta 对象,以获取窗口信息和改变窗口形态 | http://www.bathome.net/lib/diy/mshta.js |
Tools diy | 创建一个 Tools 对象,用于管理第三方命令行工具 | http://www.bathome.net/lib/diy/Tools.js |
RunCommand diy | 将接收到的命令行参数当作 js 语句来运行 | http://www.bathome.net/lib/diy/RunCommand.js |
vbs diy | 在 js 中模拟使用 vbs 代码 | http://www.bathome.net/lib/diy/vbs.js |
VBScript diy | 在 JScript 中调用 VBScript 函数 | http://www.bathome.net/lib/diy/VBScript.js |
WSH diy | 模拟一个 WSH/WScript 对象 | http://www.bathome.net/lib/diy/WSH.js |
Zones0 diy | 设置 ie 区域设置等级为最低,以免在使用 iframe 访问网页时弹出提示 | http://www.bathome.net/lib/diy/Zones0.js |
名称 版本信息 | 帮助信息 | bathome 库地址 |
accounting 0.4.1 compressed | 数字格式化通用类 | http://www.bathome.net/lib/accounting.js |
ActiveXFileWrapper N/A mod | 基于 fso 和 ado 的封装类,可以直观地操作文件,默认编码为 UTF-8 | http://www.bathome.net/lib/ActiveXFileWrapper.js |
beautify-css 1.5.4 | css 格式化 | http://www.bathome.net/lib/beautify-css.js |
beautify-html 1.5.4 | html 格式化 | http://www.bathome.net/lib/beautify-html.js |
beautify 1.5.4 | js 格式化 | http://www.bathome.net/lib/beautify.js |
bignumber 2.0.0 compressed | 超大数字运算 | http://www.bathome.net/lib/bignumber.js |
Blob N/A | 模拟 Blob 对象,是一个可以存储二进制文件的容器 | http://www.bathome.net/lib/Blob.js |
CoffeeScript 1.9.0 compressed | CoffeeScript 是 JavaScript 优雅的转义语言,为原生语法添加许多语法糖 | http://www.bathome.net/lib/coffeescript.js |
cookies 1.2.0 compressed | 便捷地读写Cookie | http://www.bathome.net/lib/cookies.js |
csv 3.6.1 compressed | CSV的JavaScript解析库 | http://www.bathome.net/lib/csv.js |
diff 0.3.0 compressed | 比较对象之间的差异 | http://www.bathome.net/lib/diff.js |
difflib 1.0.0 merge diffview.js | 比较文本之间的差异,还能展现在网页上 | http://www.bathome.net/lib/difflib.js |
Dojo 1.10.4 compressed | 著名的JS工具包 | http://www.bathome.net/lib/dojo.js |
Fuse 1.2.2 compressed | 轻量级模糊查询 | http://www.bathome.net/lib/fuse.js |
Ini 1.0.0 | INI的JavaScript解析库 | http://www.bathome.net/lib/ini.js |
jQuery 1.11.2 compressed | 继prototype之后又一个优秀的Javascrīpt框架 | http://www.bathome.net/lib/jquery.js |
js2coffee 2.0 compressed | 可将 JavaScript 翻译为 CoffeeScript.js | http://www.bathome.net/lib/js2coffee.js |
Json2 2014-02-04 compressed | 模拟 JSON 对象 | http://www.bathome.net/lib/json2.js |
JSZip 2.4.0 compressed | 用 javascript 生成 zip 文件 | http://www.bathome.net/lib/jszip.js |
KeyboardJS 0.4.1 compressed | 支持单一快捷键或者组合键的库 | http://www.bathome.net/lib/keyboard.js |
Keypress 2.1.0 compressed | 有着许多特别功能的输入捕捉库 | http://www.bathome.net/lib/keypress.js |
lazy 0.4.0 compressed | 类似 Underscore,但使用懒惰求值的办法大幅提升效率 | http://www.bathome.net/lib/lazy.js |
lodash 2.4.1 compat | 完全兼容 Underscore 语法的增强库,增加了许多新的方法 | http://www.bathome.net/lib/lodash.js |
Math 1.3.0 compressed | 多用途的JavaScript数学库 | http://www.bathome.net/lib/Math.js |
moment 2.8.4 with-locales compressed | 为日期计算提供全面的方法 | http://www.bathome.net/lib/moment.js |
mootools 1.5.1 compressed | 一个简洁,模块化,面向对象的开源JavaScript web应用框架 | http://www.bathome.net/lib/mootools.js |
mousetrap 1.4.6 compressed | 快捷键库,可直观地定义组合键 | http://www.bathome.net/lib/mousetrap.js |
naturalSort 0.7 | 支持对字符串中的小数、ip、文件名、日期等进行自然排序自然排序 | http://www.bathome.net/lib/naturalSort.js |
numeric 1.2.6 compressed | 支持特殊的数学计算,擅长本地执行小型计算 | http://www.bathome.net/lib/numeric.js |
numbers 0.5.0 | 一个可以运算复杂数据运算的js库,名字叫Numbers.js,可以进行三角,矩阵等复杂运算 | http://www.bathome.net/lib/numbers.js |
Prototype 1.7.2 compressed | 非常优雅的javascript基础类库,对javascript做了大量的扩展,而且很好的支持Ajax | http://www.bathome.net/lib/Prototype.js |
RequireJS 2.1.16 mod | 非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一 | http://www.bathome.net/lib/require.js |
reveal 3.1.0 | 基于CSS的幻灯片工具 | http://www.bathome.net/lib/reveal.js |
sea 2.2.3 compressed | 一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制 | http://www.bathome.net/lib/sea.js |
sjcl N/A compressed | 由斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全、快速、短小精悍、易使用、跨浏览器的JavaScript加密库 | http://www.bathome.net/lib/sjcl.js |
shortcut 2.01.B | 提供更为方便地处理键盘快捷键的函数 | http://www.bathome.net/lib/shortcut.js |
sprintf 1.0.2 mod | 模拟 sprintf/vsprintf | http://www.bathome.net/lib/sprintf.js |
strftime 0.8.2 compressed | 模拟 strftime | http://www.bathome.net/lib/strftime.js |
Sugar 1.4.1 full compressed | 为内置对象扩展了一些有用的、直观的方法,会影响 prototype,和 Prototype_MOD.js 有部分重合 | http://www.bathome.net/lib/Sugar.js |
taffy 2.7 compressed | 基于 JSON 管理数据库 | http://www.bathome.net/lib/taffy.js |
typeName 1.0.1 | 比 typeof 得到的结果准确一点,但其实更建议调用 vbs 的 TypeName | http://www.bathome.net/lib/typename.js |
Underscore 1.7.0 compressed | 提供了几十种函数式编程的方法,大大方便了Javascript的编程 | http://www.bathome.net/lib/underscore.js |
XDate 0.8 compressed | 为日期计算提供全面的方法 | http://www.bathome.net/lib/xdate.js |
XRegExp 2.0.0 compressed | 增加了更多未来浏览器可能包含的功能(ECMAScript 4 - ES4) | http://www.bathome.net/lib/xregexp.js |
zip N/A | 用 JavaScript 实现的 zip 压缩和解压缩工具包 | http://www.bathome.net/lib/zip.js |
查询本机外网 ip
http://www.bathome.net/s/ip.php
由批处理之家提供
http://yu2n.sinaapp.com/app/ip/ip.php?act=show_ip_client
由 yu2n 个人博客提供
http://int.dpool.sina.com.cn/iplookup/iplookup.php
由新浪提供
http://pv.sohu.com/cityjson?ie=gb2312
由搜狐提供
http://whois.pconline.com.cn/ip.jsp
http://whois.pconline.com.cn/ipJson.jsp
.....
由太平洋电脑网提供,还有其他接口,详见:http://whois.pconline.com.cn/
查询指定 ip 归属地
http://whois.pconline.com.cn/ip.jsp?ip=117.25.131.86
由太平洋电脑网提供
http://int.dpool.sina.com.cn/ipl ... hp?ip=117.25.131.86
由新浪提供
http://ip.taobao.com/service/getIpInfo.php?ip=117.25.131.86
由淘宝提供
hide
隐藏 mshta 窗口,运行后将导致 setTimeout 和 setInterval 失效
http://www.bathome.net/lib/diy/hide.js
直接运行生效,无接口
会自动用 HTA:APPLICATION 标签创建一个名为 mshta 的对象
运行后将隐藏窗口和任务栏图标,并在页面完全加载完毕后退出窗口(依赖 window.onload)
若要使用 setTimeout 和 setInterval 请保证 window.KEEP_RUNNING 为非 0 数字
例如示例脚本:[attach]8282[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/hide.js></script>
- <script>
- KEEP_RUNNING = 5
- setInterval(function(){alert('KEEP_RUNNING =' + --KEEP_RUNNING)},1000)
- </script>
Zones0
设置 ie 区域设置等级为最低,以免在使用 iframe 访问网页时弹出提示
http://www.bathome.net/lib/diy/Zones0.js
直接运行生效,创建 Zones0 对象,有接口
设置 ie 区域设置等级为最低,以免弹出提示,页面加载完毕或窗口正常关闭时会自动恢复原有设置
若未即时还原,将导致使用 ie 内核的浏览器面临风险
也可用 Zone0.recover() 手动还原,之后仍可用 Zone0.disalbe() 手动降低区域为最低,或用 Zone0.modify(n) 手动修改区域设置
例如示例脚本:[attach]8283[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/Zones0.js>可以对比一下去掉这行后的效果</script>
- <iframe src=http://www.bathome.net></iframe>
mshta
创建一个 mshta 对象,以获取窗口信息和改变窗口形态
http://www.bathome.net/lib/diy/mshta.js
直接运行生效,创建名为 mshta 的全局对象
会自动用 HTA:APPLICATION 标签创建一个名为 mshta 的对象
若已存在 HTA:APPLICATION 标签,则将其 id 改为 mshta
可查询当前脚本窗口的各类属性(有少数属性是可写的),具体属性请参考:https://msdn.microsoft.com/en-us/library/ms536495(VS.85).aspx
例如示例脚本:[attach]8311[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/mshta.js></script>
- <script>
- //修改自 MS 官方的例子
- sTempStr =
- "applicationName = " + mshta.applicationName + "\n" +
- "border = " + mshta.border + "\n" +
- "borderStyle = " + mshta.borderStyle + "\n" +
- "caption = " + mshta.caption + "\n" +
- "commandLine = " + mshta.commandLine + "\n" +
- "icon = " + mshta.icon + "\n" +
- "maximizeButton = " + mshta.maximizeButton + "\n" +
- "minimizeButton = " + mshta.minimizeButton + "\n" +
- "showInTaskBar = " + mshta.showInTaskbar + "\n" +
- "singleInstance = " + mshta.singleInstance + "\n" +
- "sysMenu = " + mshta.sysMenu + "\n" +
- "version = " + mshta.version + "\n" +
- "windowState = " + mshta.windowState + "\n" ;
- alert(sTempStr)
- close()
- </script>
console
模拟一个 console 对象,并将其输出显示在当前窗口中。会导致当前窗口其他内容不可见
http://www.bathome.net/lib/diy/console.js
直接运行生效,创建 console 对象,有效接口有 error、group、info、log、warn,还有一些尚无具体实现的接口
类似于 FireBug 的 console 对象,相当于 FireBug 阉割到只剩小拇指的版本,但加载快,而且不在 body 中也能生效
若在 head 中调用,将导致页面上其他内容不显示
例如示例脚本:[attach]8287[/attach]复制代码
- <body>
- <p>若要保留页面上的内容,请在 body 中调用 console.js</p>
- <script src=http://www.bathome.net/lib/diy/console.js></script>
- <script>
- console.log('普通青年')
- console.warn('文艺青年')
- console.error('213青年')
- </script>
- </body>
loadFirebug
调用后自动引用官网的 Firebug-lite.js。最强大的网页调试工具之一,按 F12 可呼出控制窗口
http://www.bathome.net/lib/diy/loadFirebug.js
直接运行生效,创建 console 对象和 FirebugUI 框架
运行后自动加载 FireBug(比较慢),F12 快捷键呼出窗口
例如示例脚本:[attach]8286[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/loadFirebug.js></script>
- <script>var arr=[1,2,3]
- var obj={a:1,b:2}
- //可在控制台中输入 arr 和 obj 查看变量值</script>
WSH
模拟一个 WSH/WScript 对象
http://www.bathome.net/lib/diy/WSH.js
直接运行生效,创建 WScript 和 WSH 对象,包含 WSH 宿主对象的所有方法和属性
模拟 WScript.exe 执行时的环境,以方便移植本地的 js、vbs 代码,仿真度高达 95%~
例如示例脚本:[attach]8301[/attach]复制代码
- @echo off
- dir /b | mshta "%~f0" "^.{1,25}\.bat$" igm | findstr .*
- pause & exit
- <script src=http://www.bathome.net/lib/diy/WSH.js></script>
- <script>
- var text = WSH.StdIn.ReadAll()
- //读取标准输入设备的输入
- var re = new RegExp(WSH.Arguments(0),WSH.Arguments(1))
- //根据命令行参数组成正则
- var match = text.match(re)
- //筛选出符合条件的文件名
- if(match)WSH.Echo(match.join('\r\n'))
- //若有匹配项则输出
- close()
- </script>
Libs
创建一个 Libs 对象,用于管理批处理之家的脚本库
http://www.bathome.net/lib/diy/Libs.js
直接运行生效,创建名为 Libs 的全局对象,内含 13 个方法(和 Tools.js 的用法基本一致):
test 测试能否正确在线获取库文件
list 获取 bathome 的库列表
find 在可用列表中搜索指定工具,不区分大小写
check 根据列表提供的文件大小检查指定工具是否不同,不区分大小写
include 引用本地库
append 附加在线库
down 在线获取 bathome 的库,并附加到页面中
get 在线获取 bathome 的库,与 down 的唯一区别是文件若已经存在则不会下载
del 删除指定的库
exists 判断当前路径下是存在指定的库
where 列举本机库所在的路径
run 获取库的内容,运行并返回结果
offline 将脚本转为离线
例如示例脚本:[attach]8312[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/Libs.js></script>
- <script>
- Libs.get('JSON2')
- Libs.get('beautify')
- //这两句调用了 JSON2.js 和 beautify.js,分别用于 JSON 解析和代码格式化
- </script>
- <script>
- var list = Libs.list()
- //这里获取了可用的在线库
- var arr = []
- for(var i in list){
- if(/日期|时间/.test(list[i].helpString)){
- arr.push(list[i])
- }
- }
- //这里遍历在线库列表,找到帮助信息包含“时间”与“日期”的项
- var json = JSON.stringify(arr)
- //将结果转为 JSON
- var text = js_beautify(json)
- //将结果转为便于阅读的格式
- alert(text)
- //输出结果
- close()
- </script>
Tools
创建一个 Tools 对象,用于管理批处理之家的脚本库
http://www.bathome.net/lib/diy/Tools.js
直接运行生效,创建名为 Tools 的全局对象,内含 12 个方法(和 Libs.js 的用法基本一致):
test 测试能否正确在线获取库文件
list 获取第三方命令行工具列表
find 在可用列表中搜索指定工具,不区分大小写
check 根据列表提供的文件大小检查指定工具是否不同,不区分大小写
down 在线获取第三方命令行工具
get 在线获取第三方命令行工具,与 down 的唯一区别是文件若已经存在则不会下载
del 删除指定目录下的第三方工具
exists 判断当前路径以及 %PATH% 路径下是存在指定的外部命令
where 列举本机上指定的外部命令所在路径
exec 执行命令
cmd 使用 cmd 执行命令,并返回标准输出
run 以指定方式运行指定程序
例如示例脚本:[attach]8467[/attach]复制代码
- @echo off & ( break >"%~f0:Zone.Identifier" ) 2>nul
- mshta "%~f0"
- ::在批处理中将自身当作 hta 脚本运行,以下载 seq.exe
- seq 1 0.5 10
- ::调用 seq 输出 1~10 的数字,步数为 0.5
- pause & exit /b
- ::下面是 hta 部分
- <script src=http://www.bathome.net/lib/diy/Tools.js></script>
- <script>
- Tools.get('seq')
- //获取 seq 命令
- close()
- </script>
vbs
在 JScript 中调用 VBScript 函数
http://www.bathome.net/lib/diy/vbs.js
直接运行生效,创建 vbs、inputbox、msgbox、bin2asc、asc2bin 函数,用法详见原脚本
基于 MSScriptControl.ScriptControl 控件
本是为 JSConsole 写的,在 mshta 中其实没有什么意义了
例如示例脚本:[attach]8431[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/vbs.js></script>
- <script>
- msgbox('我来自批处理之家',4096,'置顶提示')
- //调用 msgbox 的一种方式
- vbs('msgbox("我来自批处理之家",4096,"置顶提示")')
- //调用 msgbox 的另一种方式
- alert('"12345" 的字节码对应:'+bin2asc('12345'))
- //用 vbs 拆解字节流
- </script>
VBScript
在 JScript 中调用 VBScript 函数
http://www.bathome.net/lib/diy/VBScript.js
直接运行生效,创建 VBScript 对象和 VBScriptClass 类,包含 vbs 的所有内置函数的同名接口
VBScript 对象依赖于 VBScriptClass 类
VBScriptClass 类是完全由 VBS 创建的
例如示例脚本:[attach]8432[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/VBScript.js></script>
- <script>
- var now = VBScript.Now()
- var after7days = VBScript.DateAdd('d',now,7)
- VBScript.MsgBox(after7days)
- //显示7天后的日期
- //实际上调用的是 VBScriptClass.Now0、VBScriptClass.DateAdd3、VBScriptClass.MsgBox1
- </script>
RunCommand
将接收到的命令行参数当作 js 语句来运行
http://www.bathome.net/lib/diy/RunCommand.js
直接运行生效,无接口
调用时,立即将整个命令行参数作为 js 语句执行,无返回值
例如示例脚本:[attach]8429[/attach]复制代码
- <!-- :
- @echo off
- mshta "%~f0" alert('你好') ;alert('我来自批处理之家');close()
- pause & exit /b
- -->
- <script src=http://www.bathome.net/lib/diy/RunCommand.js></script>
code
可在一个标签里写入多种语言的脚本
http://www.bathome.net/lib/diy/code.js
直接运行生效,无接口
在页面加载完毕后对所有 language=code 或 type=text/code 的 <script> 标签进行解析替换
将标签中各种语言拆分成不同的 <script> 标签
例如示例脚本:[attach]8468[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/code.js></script>
- <script type=text/code>
- --------?js--------
- test("test")
- close()
- ------%vbs--------
- Sub test(str)
- MsgBox str
- End Sub
- '前缀 % 表示优先加载,含有 % 的部分将优先执行
- </script>
DIYprototype
在 Prototype.js 的基础上增加了一些继承方法
http://www.bathome.net/lib/diy/DIYprototype.js
直接运行生效,会直接修改部分对象的 prototype 原型链
部分方法需要 Prototype 库和 Function 库支持
例如示例脚本:[attach]8471[/attach]复制代码
- <script src=http://www.bathome.net/lib/Prototype.js></script>
- <script src=http://www.bathome.net/lib/diy/Function.js></script>
- <script src=http://www.bathome.net/lib/diy/DIYprototype.js></script>
- <script>
- var array = ['批处理之家','js脚本库',2015,true]
- alert(array.EACH(function(a,b){return 'arr['+b+'] is '+typename(a)}).join('\r\n'))
- //显示数组中各个函数的内容和类型
- //EACH 可对数组的每个元素分别执行指定函数,并将返回值保存为数组返回
- close()
- </script>
callBack
创建各种回调函数,可用于辅助 Array.prototype.each
http://www.bathome.net/lib/diy/callBack.js
直接运行生效,会修改 Function 对象的 prototype 原型链,其中以 *_ 开头的方法都是用于创建回调函数
和 Array 的 EACH、_EACH 方法(来自 DIYprototype 库)是绝配
例如示例脚本:[attach]8472[/attach]复制代码
- <script src=http://www.bathome.net/lib/Prototype.js></script>
- <script src=http://www.bathome.net/lib/diy/DIYprototype.js></script>
- <script src=http://www.bathome.net/lib/diy/callBack.js></script>
- <script>
- array = [123,'bbs.bathome.net','批处理之家']
- text = array._EACH( //_EACH 可对数组的每个元素分别执行指定函数,并将返回值保存为数组返回
- callBack //此处仅用于引用 M_toString 和 P_length
- .M_toString() //M_toString() 取得一个用于调用 toString 的回调函数
- .P_length() //P_length 取得一个用于返回 length 的回调函数
- .M_toString(2)
- )
- //分别获取数组元素的长度,返回长度的二进制值
- alert(text)
- close()
- </script>
iconv
字符编码转换
http://www.bathome.net/lib/diy/iconv.js
直接运行生效,提供 iconv 函数及其子函数
例如示例脚本:[attach]8473[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/iconv.js></script>
- <script>
- var utf8string = '鎵瑰鐞嗕箣瀹讹紝浣犲ソ'
- var gb2312string = iconv(utf8string,'utf-8','gb2312')
- alert(gb2312string)
- //调用 iconv 函数转换字符串
- iconv.saveText(gb2312string,'文本.txt','gb2312')
- //调用 iconv.saveText 将字符串以 gb2312 编码保存到文本
- close()
- </script>
list
用于罗列各种信息的自定义的函数
http://www.bathome.net/lib/diy/list.js
直接运行生效,提供 list 函数及其子函数
例如示例脚本:[attach]8474[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/list.js></script>
- <script>
- var mapobject = {a:123,b:456}
- alert(list(mapobject).join('\n'))
- //列举对象的元素
- var comobject = list.com()
- alert('本机已注册的组件数量为:' + comobject.length)
- //获取已注册的组件数量
- close()
- </script>
Function
各种自定义的常用函数,基于 WSH.js 和 Prototype.js
http://www.bathome.net/lib/diy/Function.js
直接运行生效,提供 getopts、type、echo、download、clone 等函数
是比较基础的函数集
例如示例脚本:[attach]8476[/attach]复制代码
- <script src=http://www.bathome.net/lib/Prototype.js></script>
- <script src=http://www.bathome.net/lib/diy/WSH.js></script>
- <script src=http://www.bathome.net/lib/diy/Function.js></script>
- <script>
- download('http://bbs.bathome.net/index.php')
- //下载批处理之家的首页
- alert(getopts('命令行 "切分 测试"'))
- //按 windows 下的规则切分命令行参数
- close()
- </script>
GetRequest
用于取得URL地址中的变量
http://www.bathome.net/lib/diy/GetRequest.js
直接运行生效,提供 GetRequest 函数
例如示例脚本:[attach]8433[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/GetRequest.js></script>
- <script>
- var values = GetRequest()
- //获取URL中的变量,保存在对象中
- alert(values['批处理之家'])
- alert(values['楼主'])
- //显示URL中指定对象的变量值
- close()
- </script>
ch2num
阿拉伯数字与中文数字互转
http://www.bathome.net/lib/diy/ch2num.js
直接运行生效,提供 ch2num、num2chs、num2cht、num2sum 函数
例如示例脚本:[attach]8475[/attach]复制代码
- <script src=http://www.bathome.net/lib/diy/ch2num.js></script>
- <script>
- alert(ch2num('中文数字壹佰叁拾贰万肆仟贰佰壹拾叁圆肆角贰分'))
- //大写数字转小写
- alert(num2chs('阿拉伯数字1324213.42'))
- //小写数字转大写
- close()
- </script>
复制代码
- #满足了一下自己的搜集癖,搜集了不少可以用来查询外网IP的网址和方法。
- #国内某网站的接口,只返回IP
- curl ip.6655.com/ip.aspx
- curl whatismyip.akamai.com
- #更多用法访问ifconfig.co
- wget -qO - ifconfig.co
- curl icanhazip.com
- dig +short myip.opendns.com @resolver1.opendns.com
- curl ident.me
- curl v4.ident.me
- curl v6.ident.me
- #慢
- curl curlmyip.com
- curl ifconfig.me
- curl inet-ip.info
- #返回IP和地区
- curl ip.6655.com/ip.aspx?area=1
- curl ip.cn
- curl cip.cc
- curl ipip.net
- #需要翻x墙,只返回IP
- curl ip.appspot.com
- #参考 http://unix.stackexchange.com/questions/22615/how-can-i-get-my-external-ip-address-in-bash
- #有人给了以下测试方法
- wget https://raw.githubusercontent.com/rsp/scripts/master/externalip-benchmark
- chmod a+x externalip-benchmark
- ./externalip-benchmark
- #返回JSON格式的数据
- C:\>curl httpbin.org/get
- {
- "args": {},
- "headers": {
- "Accept": "*/*",
- "Host": "httpbin.org",
- "User-Agent": "curl/7.28.1"
- },
- "origin": "222.216.164.78",
- "url": "http://httpbin.org/get"
- }
- C:\>curl httpbin.org/ip
- {
- "origin": "116.11.199.77"
- }
欢迎光临 批处理之家 (http://bbs.bathome.net/) | Powered by Discuz! 7.2 |