注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

汇总技巧

你快乐我快乐.... 汇集各类技巧,传播技巧,让我们共同熟练运用技巧..

 
 
 

日志

 
 

asp.net环境下的cmd命令执行  

2011-06-30 19:58:20|  分类: ◆ASP技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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 stringdim 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.readtoendbut=replace(but,"","lt;")but=replace(but,"","gt;")result.text="pre"  but  "/pre"myread.closeif file.exists(tempfile) thenfile.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 lake207/16/2004

  评论这张
 
阅读(121)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017