中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-24 00:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]BAT与HTML混合编程 查看 8,671 回复 18
楼 主 [原创]BAT与HTML混合编程 发表于 2008-04-22 11:53 ·  中国 北京 电信
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
:<!--
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::

::::::::1.执行HTML代码之前的BAT代码::::::::
@echo off
call :e Starting mshta...
pause
::::::::1.执行HTML代码之前的BAT代码::::::::

::执行HTML代码:
start mshta %0

::::::::2.执行HTML代码之后的BAT代码::::::::
call :e Mshta is executing HTML codes...
pause
::::::::2.执行HTML代码之后的BAT代码::::::::

::退出BAT:
exit/b

:::::::BAT函数定义部分:::::::
:e
echo %*
goto :eof
:::::::BAT函数定义部分:::::::

::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::
-->

<!--此句用来清除第一行的:-->
<script>document.body.innerText=""</script>

<!--------------------------HTML-------------------------->
<body onkeypress=window.close()>
<hr color=red>
<marquee><font color=green>HTML Codes</font></marquee>
<hr color=red>
<!--------------------------HTML-------------------------->

<!-- BAT & HTML {s11ss@www.cn-dos.net/forum 2008-4-22}
思路:当此文件被当作BAT文件执行时,未执行到HTML代码部分时就已退出;
当此文件被当作HTML文件执行时,BAT代码部分被注释,不会被执行。
-->


[ Last edited by s11ss on 2008-4-22 at 11:55 AM ]
本帖最近评分记录 (共 3 条) 点击查看详情
评分人分数时间
knoppix7 +8 2008-04-22 12:13
scriptor +15 2008-04-22 19:54
yishanju +3 2015-10-13 20:07
2 发表于 2008-04-22 12:14 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
好东西...
...JS/VBS/HTML/BAT ALL IN one的感觉..........
3 发表于 2008-04-22 12:16 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
好东西,收藏。
4 发表于 2008-04-22 12:49 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
高产的”作家“
我现在怀疑楼主是原来某位版主的马甲,大家可否有同感?
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
5 发表于 2008-04-22 13:39 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
S11SS懂得还真多,大概总结下有:
vbs
js
bat
汇编
Html
还有基于GUI的程序不知道是JAVA 还好C等
而且根底都很扎实
佩服佩服!
6 发表于 2008-04-22 19:16 ·  中国 湖北 武汉 电信
初级用户
积分 108
发帖 49
注册 2008-02-26 18:54
18年会员
UID 111491
性别 男
状态 离线
有创意,值得学习
7 发表于 2008-04-22 19:53 ·  德国
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
Originally posted by s11ss at 2008-4-22 11:53:
:<!--
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::

::::::::1.执行HTML代码之前的BAT代码::::::::
@echo off
call :e Starting mshta...
pause
::::::::1.执 ...



你真强,我算是找到我一直以来要实现的了!!
先顶你在实验一下!!

ps: 鬼晓得你是怎么想到的! 哈哈哈~~
哎,又很久没来了,来了我也是观花!

看到很好的我就要赞一下, 看到不好的我也要砍一下!
哈哈哈~~~
加油啊~~
8 发表于 2008-04-22 19:53 ·  德国
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
Originally posted by plp626 at 2008-4-22 12:49:
高产的”作家“
我现在怀疑楼主是原来某位版主的马甲,大家可否有同感?



呵呵~你是菜菜!!
9 发表于 2008-04-22 19:55 ·  德国
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
Originally posted by s11ss at 2008-4-22 11:53:
:<!--
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::

::::::::1.执行HTML代码之前的BAT代码::::::::
@echo off
call :e Starting mshta...
pause
::::::::1.执 ...



给你加我的最高分: 15

基本不记得加分的功能啊!! 这次先给你加加~~
:)
10 发表于 2008-04-22 20:01 ·  德国
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
好,测试过了,有个想法::

我想说的是: 能不能在<html code segment > 内,加入 bat命令, 当然不是说使用
object.run (xxxx) 之类的!

或者有什么变通的办法么?

---------

我的这个想法 是不是 不可能实现啊?
11 发表于 2008-04-22 20:49 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
我一直是菜菜。

就楼主这个帖来说,其思想就是把VBS混合编程的思想用到html语言上,只是大家的知识面没有楼主那么宽(像我不是学计算机的,现在就懂个BAT,但我好学!)
随便举个混合编程的例子,来表达(我就懂点点VBS)楼主此贴的思想:
' 2>nul 3>nul&@echo off&cls
'&start wscript.exe /nologo /e:vbs %0&exit
createobject("sapi.spvoice").speak("ger lee shir joan gwaur DOS lieng merng")
msgbox "这里是中国DOS联盟!",,"Welcome"

原帖:http://www.cn-dos.net/forum/viewthread.php?tid=39082&fpage=1&highlight=

不同与此贴的仅仅是此贴用的是mshta来把bat的代码当作html语言来解释,不知楼主,我说的对不对?

将楼主的代码精简,方便大家理解思想:

:<!--

@rem /* ---------- bat代码部分 ------------------------
@echo off
echo 这里随便写代码,
echo 下面将启动html了
pause
::-----------下面这句 将bat代码当作html语言来解释,
start mshta %0
exit::记得退出cmd
rem ------------------------------------------------ */

现学现用:(我刚从楼主的帖子里学到的)

在html语言里注释就是 <!-- ..(可以换行)... -->
由此看来当mshta解释这个bat代码时候,从第一句到下面这句之间的部分被跳过。

由此看来次代码和<%0 more +? >tmp.html相比一大优点就是没有生成临时文件.

-->

<!--此句(就是下面script那就)用来清除第一行的(这不,又学到了如何清除第一行的html语句)
我来解释为什么要添这句
如果第一句开头没有冒号bat将因语法错误直接跳出,
加上后当mshta读取代码是第一个:会留下,为了再丢掉就得用下面的语句


--------我的上面全是html的注释-------我的下面就是正二八经的html语句了------->


<script>document.body.innerText=""</script>

<body onkeypress=window.close()>
<hr color=red>
<marquee><font color=green>HTML Codes</font></marquee>
<hr color=red>


[ Last edited by plp626 on 2008-4-28 at 07:36 PM ]
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
12 发表于 2008-04-23 08:09 ·  中国 广东 广州 白云区 电信
中级用户
★★
积分 233
发帖 117
注册 2007-11-28 02:38
18年会员
UID 104005
性别 男
状态 离线
第一次碰到。高,厉害。学习了
13 发表于 2008-04-23 16:52 ·  中国 山东 济南 联通
初级用户
积分 34
发帖 16
注册 2008-04-15 16:47
18年会员
UID 115992
性别 男
状态 离线
厉害
14 发表于 2008-04-23 20:07 ·  中国 山东 临沂 电信
初级用户
★★
积分 100
发帖 67
注册 2007-06-08 16:48
19年会员
UID 90687
性别 男
状态 离线
『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害

『第 14 楼』:

厉害
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
BC -2 2008-12-07 14:37
yishanju -15 2015-11-13 08:20
15 发表于 2008-04-24 17:28 ·  中国 江苏 南通 电信
初级用户
积分 30
发帖 15
注册 2008-04-21 18:11
18年会员
UID 116522
性别 男
状态 离线
谢谢。不错的思路。
论坛跳转: