[v0.4]VBScript Shell——支持交互运行VBS的外壳
[size=5]由@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执行多行代码。单行代码直接输入、回车即可执行。
参与开发:[url]https://jq.qq.com/?_wv=1027&k=bhVG8I71[/url]
下载地址:[url]https://github.com/OldLiu001/Visual_Basic_Script_Shell/archive/master.zip[/url]
项目地址:[url]https://github.com/OldLiu001/Visual_Basic_Script_Shell[/url][/size] 问题来了 hta文件呢? [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264448&ptid=57420]2#[/url] [i]jyswjjgdwtdtj[/i] [/b]
确实欸,我才发现没有了,重新push了一个 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264498&ptid=57420]3#[/url] [i]老刘1号[/i] [/b]
好像多行的过程还不支持?
我建议多行过程的检查可以用栈?比如一个for就push一个“for”,一个next就pop一个for?
之前用cscript的控制台做过类似的 我就这么做的😂 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264498&ptid=57420]3#[/url] [i]老刘1号[/i] [/b]
还有wscript对象似乎缺一个“path”属性?虽然无伤大雅;P 还有vbs也是可以操作hta(其实和htmlfile一样,都是ie套壳)的,所以那个textoutput可以用vbs写! [i=s] 本帖最后由 老刘1号 于 2023-2-14 21:45 编辑 [/i]
[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264561&ptid=57420]4#[/url] [i]jyswjjgdwtdtj[/i] [/b]
目前确实是直接回车进入多行模式,确实可以用栈做个检测,不过细节很多,比如用 : 连接的,[]包裹的关键字,if的那种没有end的情况,[code]
if xxx then 后边直接跟命令
if xxx then : xxx : end if
[if] [end] 这种关键字当变量用的
[/code]要不不实现,真要实现起来感觉得上antlr那种词法分析器了( [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264563&ptid=57420]5#[/url] [i]jyswjjgdwtdtj[/i] [/b]
那个缺的挺多的,stdin和stdout那些都还没弄 [i=s] 本帖最后由 老刘1号 于 2023-2-14 21:46 编辑 [/i]
[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264564&ptid=57420]6#[/url] [i]jyswjjgdwtdtj[/i] [/b]
确实可以,但是js写比较顺手
顺便,hta那个ie的版本是非常老的ie6,很多特性不支持
htmlfile没研究过,但是ie对象的ie版本是比较高的(8~11,看装了哪个版本)
要不要加入开发?可以fork一份,修改后提交pr就好 [b]回复 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=264569&ptid=57420]9#[/url] [i]老刘1号[/i] [/b]
电脑里还有xmlfile,jpegfie,giffile等等一大堆莫名其妙的xxfile
吐槽一下,htmlfile没有getelementbyclass
一般都是用来执行JavaScript代码的 嗨 之前写过一个的 支持动态通过栈检查格式 包括错误后支持退回上一步等等 学着py-dng大佬做的 不过我觉得他写的实在太繁琐 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264603&ptid=57420]10#[/url] [i]jyswjjgdwtdtj[/i] [/b]
可以,当然都可以,都是好idea,有啥想法你直接fork一下修改吧,
主要最近我没空整这个(逃
想起某位老兄的话,开源的好处就是你能免费帮人写代码、别人也能免费帮你写代码(x [i=s] 本帖最后由 jyswjjgdwtdtj 于 2023-2-16 18:38 编辑 [/i]
6的6的6的6的 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264615&ptid=57420]12#[/url] [i]老刘1号[/i] [/b]
最后弱弱问一句,highlight.vbs里的正则:
((?:\x05?[\x03\x05]*R\x05?e\x05?m\x05?\x03+\x05?|'\x05?)[^\r]*)
里,\x05和\x03是什么意思啊,是ascii吗?
但都是几乎已经废弃了的非打印字符啊 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=264653&ptid=57420]14#[/url] [i]jyswjjgdwtdtj[/i] [/b][code] STRING_FLAG = Chr(1)
COMMENT_FLAG = Chr(2)
BLANK_FLAG = Chr(3)
SPECIAL_CHAR_FLAG = Chr(4)
CURSOR_FLAG = Chr(5) '为VBS Shell新增的光标标记[/code]
页:
[1]