本帖最后由 CrLf 于 2015-11-14 04:56 编辑
使用 ScriptCryptor 编译,这是我见过最牛的 vbs/js 编译工具了,执行时不需要释放脚本,连 WSH.Name 都是 ScriptCryptor
ScriptCryptor 编译的 js 不但不会提升运行效率,反而会降低启动速度,但有两个好处,一个是可以扔到 system32 文件夹下进行全局调用,另一个好处是可以不用敲一大串的 cscript //nologo js.js
不用 jsc.exe 编译是因为那样就不支持 WScript 对象了...
不想用 exe 的话,也可以直接使用 js.js,效果几乎是一样的
下载地址
【友情提示:压缩包中的文件都已 Unicode 化,但 ScriptCryptor 不支持 Unicode 脚本,所以如果您想自行编译的话,需要先将 JSConsole.js 保存为 ansi 编码】
部分特色功能举例(这些例子来自旧版本,未包含的新增部分见压缩包中的 txt):- help($fso)
- //可查看 new ActiveXObject('Scripting.FileSystemObject') 组件有哪些属性和方法
- //help($fso,true,true) 可以查看各自的类型和说明
- //help() 等于 help(this)
- listcom()
- //列举本机有哪些可使用的 com 组件
- echo($fso)
- echo([1,2,3])
- echo({a:1,b:2})
- //增强 echo 的功能:
- //对 com 组件显示其名称
- //对数组罗列其元素
- //对对象用 JSON 格式显示(需启用 Prototype 库)
- //对字符串显示原始内容
- vbs('a=12\\2','msgbox "12\\2=" & a','a+1')
- //调用 vbs
- //先执行 a=12\2
- //再执行 msgbox "12\2=" & a
- //最后返回 a+1 的值
- typename(variable)
- //查看 variable 的类型
- //比 typeof 更靠谱,能判断 Array 与自定义类型
- $In=open('test.js')
- //引用 test.js 的内容作为输入,执行效果和手动输入等价
- //$Out 和 $Err 也可以重定向
- Object.toJSON({test:123})
- //来自 Prototype 库的方法,将变量输出为 JSON 格式
- help().grep(/^\$/).sort()
- //用 help() 获取 this 对象的所有方法和属性,其输出为数组
- //再用 grep(/^\$/) 筛选数组中以 $ 开头的内容(grep 方法由 Prototype 提供)
- //最后用 sort() 将结果排序
- //list 和 dir 等函数的输出也是数组,可以使用 Array 的方法和属性
复制代码 更多说明见 2 楼
-------------------------------------------------------------------------------------------
目前还有几个已知可改进的地方,比如对启动参数、脚本的支持,还有未实现的 setclip 函数,但这些不是重点
这玩意原来只是打算用来测试 JScript 的,眼红 chrome 的 javascript console 很久了,索性自己实现一个
其实基本功能不到二十行就能搞定,写着写着功能越加越多了...
水平问题,写不出很强大的东西,先凑合着用吧
-------------------------------------------------------------------------------------------
1.1
加入 /NoLogo /-Prototype /-Function 选项用于阻止加载 Prototype 库或自定义函数(但 echo 函数依然会加载)
修改对 help(Object) 与 list(Object) 的处理逻辑
-------------------------------------------------------------------------------------------
2.0
重组了大部分代码
在保证功能的前提下,尽可能细化了主文件的功能,把模块尽可能拆出去
大幅增强 help 函数的功能,对组件不再挑三拣四,对函数则有单独的相应逻辑
以数组为基础,着重扩展数组的方法和强调回调函数的使用
增加可定制的宏命令和预处理命令
用 AutoHotKey 制作了辅助工具,顺便推广推广 AHK~
增加了很多的库和自定义方法、函数,这个看体积就知道了
现在能够备份还原 RegExp 的属性值,不会被语法解析时使用的正则影响
修正几个已知bug
-------------------------------------------------------------------------------------------
2.0.1
添加少量 js 库
js.exe 更名为 JSConsole.exe,避免与来自火狐的 JSShell 项目重名
-------------------------------------------------------------------------------------------
附,Node.js 也不错,可惜毕竟不是 JScript:Node.js 独立的 Javascript 解释平台 |