加入收藏
联系我们
关于我们
 您现在的位置: 亿聪 >> 网络学院 >> 网络编程 >> .Net技术 >> 正文  
  asp.net环境下的cmd命令执行         
asp.net环境下的cmd命令执行
[ 作者:lake2    转贴自:CSDN    点击数:3857    更新时间:2004/8/4    文章录入:亿聪 ]
 

cmd.asp木马大家一定用过吧。这是一个可以执行cmd命令的asp文件(不过要被杀毒软件追杀^_^)。其原理是用WSCRIPT.SHELL对象调用cmd.exe,然后把返回的信息放到一个临时文件,再利用FSO把临时文件信息读出来显示在浏览器里。

呵呵,在asp.net环境下也是可以写出类似程序的。不过可以不用那些对象。

VB.net里有一个shell函数,可以执行外部程序。呵呵,就是利用它!现看看微软的.net framework SDK的介绍:

 



Shell 函数
命名空间:Microsoft.VisualBasic
模块:Interaction
程序集:Microsoft Visual Basic .NET 运行库(位于 Microsoft.VisualBasic.dll 中)
运行一个可执行程序,并且如果该程序仍然在运行,则返回一个包含该程序的进程 ID 的整数。
Public Function Shell( _
   ByVal Pathname As String, _
   Optional ByVal Style As AppWinStyle = AppWinStyle.MinimizedFocus, _
   Optional ByVal Wait As Boolean = False, _
   Optional ByVal Timeout As Integer = -1 _
) As Integer
参数
Pathname
必选项。字符串。要执行的程序名以及任何需要的参数和命令行开关。Pathname 还可以包括驱动器和目录路径或文件夹。
Style
可选项。AppWinStyle。从 AppWinStyle 枚举中选择的值,该枚举与要在其中运行程序的窗口样式相对应。如果省略 Style,则 Shell 使用 AppWinStyle.MinimizedFocus,这将使程序以最小化启动并具有焦点。
Style 参数可以有以下设置之一:
枚举值 说明
AppWinStyle.Hide 隐藏窗口并为隐藏的窗口提供焦点。
AppWinStyle.NormalFocus 为窗口提供焦点,并以最近的大小和位置显示窗口。
AppWinStyle.MinimizedFocus 为窗口提供焦点,并以图标的形式显示窗口。
AppWinStyle.MaximizedFocus 为窗口提供焦点,并以全屏方式显示窗口。
AppWinStyle.NormalNoFocus 将窗口设置为最近的大小和位置。当前活动窗口保持焦点。
AppWinStyle.MinimizedNoFocus 以图标的形式显示窗口。当前活动窗口保持焦点。

Wait
可选项。Boolean。指示 Shell 函数是否应等待程序完成的值。如果省略 Wait,则 Shell 使用 False。
Timeout
可选项。Integer。Wait 为 True 时等待完成的毫秒数。如果省略 Timeout,则 Shell 使用 -1,表示没有超时,Shell 直到程序完成时才返回。因此,如果省略 Timeout 或将它设置为 -1,则 Shell 可能永远不会将控制返回给程序。


嗯,你那么帅,一定看得懂^_^

现在看核心代码:
 dim but as string
 dim tempfile as string=server.MapPath(".") & "\" & "test.txt"
 shell("cmd.exe /c " & cmd.text & " > " & tempfile,,true,-1)
 dim myread as new streamreader(tempfile,encoding.default)
 but=myread.readtoend
 but=replace(but,"<","&lt;")
 but=replace(but,">","&gt;")
 result.text="<pre>" & but & "</pre>"
 myread.close
 if file.exists(tempfile) then
  file.delete(tempfile)
 end if

关键是shell("cmd.exe /c " & cmd.text & " > " & tempfile,,true,20000),这句话就是调用cmd.exe并且等待程序执行完毕。注意:要是你运行的命令需要等待(如date),呵呵,那就惨了。那就暂时删不掉临时文件test.txt……而且不能再执行命令了……不知道高手能不能解决这个问题,先谢过啦。

另:vb里也有shell函数,但是我用在asp文件里却不行,呵呵

顺手说一哈,我的系统winXP,IIS5.1,.netframeworkSDK1.1
完整程序cmd.aspx附上

 by  lake2
07/16/2004

  • 上一篇文章: ASP.NET页面中显示数据库记录集最快的方法

  • 下一篇文章: 在ASP.NET中创建安全的web站点
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • Knoppix 4.0.2 免硬盘免安…[15070]

  • 通过ASP记录进行分页[19261]

  • ASP开发准则[11210]

  • ASP组件指南[11181]

  • ASP指南[11197]

  •  
     最新5篇推荐文章
  • Knoppix 4.0.2 免硬盘免安…[15070]

  • 如何让Win 2003系统更加安…[12437]

  • Nero超刻简明教程[33933]

  • PS商业实战-来杯茶,行吗?…[7076]

  • ASP深度揭密(下)[12199]

  •  
     相 关 文 章
    没有相关文章

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 关于我们 | 联系我们 | 友情链接 | 版权声明 | 管理登录
    Copyright © 2000-2022 Yicong.com.All Rights Reserved.
    亿聪 版权所有 E-mail: