标题: [原创] [v0.4]VBScript Shell——支持交互运行VBS的外壳 [打印本页]
作者: 老刘1号 时间: 2020-12-28 11:36 标题: [v0.4]VBScript Shell——支持交互运行VBS的外壳
由@Tech_Noob、@小肥羊、@老刘开发的支持交互式运行VBScript的系统外壳。
目前已经支持的特性:
1、独立GUI界面(不依赖系统CMD)。
2、VBScript语法高亮。
3、VBS、JS、COM函数库支持。
等待支持的特性:
1、自动补全。
2、历史命令(按↑获得)。
3、其它语言支持(JS、Scheme、Common-Lisp、VB .NET、C#等)。
4、代码编辑优化(行号显示、仿VI等)。
5、兼容性优化(WSH对象模拟)。
6、包管理支持。
用法:
1、双击解压目录中的HTA文件启动。
2、函数/函数库放置在Libraries内相应文件夹中,打开VBSH时会自动加载。
3、Preference目录内的配置文件可修改语法高亮方案,直接修改HTA可改变字体、背景色等。
4、在VBSH界面中,直接按回车进入多行代码输入模式,按下Alt+Enter执行多行代码。单行代码直接输入、回车即可执行。
参与开发:https://jq.qq.com/?_wv=1027&k=bhVG8I71
下载地址:https://github.com/OldLiu001/Vis ... /archive/master.zip
项目地址:https://github.com/OldLiu001/Visual_Basic_Script_Shell
作者: jyswjjgdwtdtj 时间: 2023-2-9 20:57
问题来了 hta文件呢?
作者: 老刘1号 时间: 2023-2-12 18:50
回复 2# jyswjjgdwtdtj
确实欸,我才发现没有了,重新push了一个
作者: jyswjjgdwtdtj 时间: 2023-2-14 20:50
回复 3# 老刘1号
好像多行的过程还不支持?
我建议多行过程的检查可以用栈?比如一个for就push一个“for”,一个next就pop一个for?
之前用cscript的控制台做过类似的 我就这么做的😂
作者: jyswjjgdwtdtj 时间: 2023-2-14 20:59
回复 3# 老刘1号
还有wscript对象似乎缺一个“path”属性?虽然无伤大雅
作者: jyswjjgdwtdtj 时间: 2023-2-14 21:01
还有vbs也是可以操作hta(其实和htmlfile一样,都是ie套壳)的,所以那个textoutput可以用vbs写!
作者: 老刘1号 时间: 2023-2-14 21:36
本帖最后由 老刘1号 于 2023-2-14 21:45 编辑
回复 4# jyswjjgdwtdtj
目前确实是直接回车进入多行模式,确实可以用栈做个检测,不过细节很多,比如用 : 连接的,[]包裹的关键字,if的那种没有end的情况,- if xxx then 后边直接跟命令
- if xxx then : xxx : end if
- [if] [end] 这种关键字当变量用的
复制代码
要不不实现,真要实现起来感觉得上antlr那种词法分析器了(
作者: 老刘1号 时间: 2023-2-14 21:37
回复 5# jyswjjgdwtdtj
那个缺的挺多的,stdin和stdout那些都还没弄
作者: 老刘1号 时间: 2023-2-14 21:39
本帖最后由 老刘1号 于 2023-2-14 21:46 编辑
回复 6# jyswjjgdwtdtj
确实可以,但是js写比较顺手
顺便,hta那个ie的版本是非常老的ie6,很多特性不支持
htmlfile没研究过,但是ie对象的ie版本是比较高的(8~11,看装了哪个版本)
要不要加入开发?可以fork一份,修改后提交pr就好
作者: jyswjjgdwtdtj 时间: 2023-2-15 19:50
回复 9# 老刘1号
电脑里还有xmlfile,jpegfie,giffile等等一大堆莫名其妙的xxfile
吐槽一下,htmlfile没有getelementbyclass
一般都是用来执行JavaScript代码的
作者: jyswjjgdwtdtj 时间: 2023-2-15 20:53
嗨 之前写过一个的 支持动态通过栈检查格式 包括错误后支持退回上一步等等 学着py-dng大佬做的 不过我觉得他写的实在太繁琐
作者: 老刘1号 时间: 2023-2-15 21:09
回复 10# jyswjjgdwtdtj
可以,当然都可以,都是好idea,有啥想法你直接fork一下修改吧,
主要最近我没空整这个(逃
想起某位老兄的话,开源的好处就是你能免费帮人写代码、别人也能免费帮你写代码(x
作者: jyswjjgdwtdtj 时间: 2023-2-16 17:25
本帖最后由 jyswjjgdwtdtj 于 2023-2-16 18:38 编辑
6的6的6的6的
作者: jyswjjgdwtdtj 时间: 2023-2-16 18:40
回复 12# 老刘1号
最后弱弱问一句,highlight.vbs里的正则:
((?:\x05?[\x03\x05]*R\x05?e\x05?m\x05?\x03+\x05?|'\x05?)[^\r]*)
里,\x05和\x03是什么意思啊,是ascii吗?
但都是几乎已经废弃了的非打印字符啊
作者: 老刘1号 时间: 2023-2-17 21:25
回复 14# jyswjjgdwtdtj - STRING_FLAG = Chr(1)
- COMMENT_FLAG = Chr(2)
- BLANK_FLAG = Chr(3)
- SPECIAL_CHAR_FLAG = Chr(4)
- CURSOR_FLAG = Chr(5) '为VBS Shell新增的光标标记
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |