C# 批处理调用方法

2016-02-19 09:45 4 1 收藏

图老师小编精心整理的C# 批处理调用方法希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

Bat.aspx:
程序代码 
代码如下:

%@ Page Language="C#" AutoEventWireup="true" CodeFile="Bat.aspx.cs" Inherits="Bat" %
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head runat="server"
titleC#调用批处理-jb51.net/title
/head
body
form id="form1" runat="server"
div
asp:TextBox ID="TextBox1" runat="server"/asp:TextBox
asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /
br /
asp:Label ID="Label1" runat="server" Text="Label" Width="304px"/asp:Label/div
/form
/body
/html

Bat.aspx.cs:
程序代码 程序代码
代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Diagnostics;
public partial class Bat : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;//设置为false将会看到程序窗口
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//启动进程时窗口状态
p.StartInfo.RedirectStandardOutput = true;
//p.StartInfo.FileName = Server.MapPath("a.bat");
p.StartInfo.FileName = @"E:a.bat";//如果a.bat在System32文件夹中,此处只需填写文件名即可
p.StartInfo.WorkingDirectory = @"E:";
p.StartInfo.Arguments = Server.UrlEncode(TextBox1.Text);
p.Start();
Label1.Text = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
}

a.bat:
程序代码
代码如下:

@echo off
md %random%
set i=1
:loop
ping 1 -n 1 -w 1000 2nul 1nul
set /a i=%i%+1
if %i%==20 echo 返回值:%1^br^服了你,这么有耐心 & exit
goto loop

说明:当批处理和aspx不在同一目录中时,最好用WorkingDirectory设置启动的进程的初始目录为批处理所在目录,否则如上例中批处理新建的目录就应在aspx所在目录中而不是批处理所在目录了!

来源:http://www.tulaoshi.com/n/20160219/1592009.html

延伸阅读
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话,在C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Technologies\Interop\P...
在以前用 Delphi 开发的项目中,会经常用到TChart这个画图控件,它本身很强大,支持各类图,如点线图,柏拉图,柱状图等等,加上可以输出成BMP,JPEG,JPG,SVG,GIF等各种格式图片,很好用,当时也封装成比较独立的 DLL文件 。这次开发.NET程序正好派上用场。 几个关键技术点: 1 C#要以非托管方式调用DLL 2 C#把整理好...
在程序运行中,产生事件的主体有很多,其中尤其以键盘和鼠标为最多。本文就来探讨一下在C#中和这二个主体相关的事件的处理过程。 一.本文介绍的程序设计和运行的软件环境: (1).微软公司视窗2000服务器版 (2)..Net FrameWork SDK Beta 2 二.C#中处理鼠标相关的事件: 鼠标相关的事件大致有六种,分别是 ...
新建Visual C#项目ASP.NET Web应用程序,将下列代码插入PageLoad事件处理函数中: OWC.ChartSpace objCSpace = new OWC.ChartSpaceClass(); OWC.WCChart objChart = objCSpace.Charts.Add(0); objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered; objChart.HasLegend = true; objChart.HasTitle = true; objChart.Title.Capt...
问题的产生: 我的WinForm程序中有一个用于更新主窗口的工作线程(worker thread),但文档中却提示我不能在多线程中调用这个form(为什么?),而事实上我在调用时程序常常会崩掉。请问如何从多线程中调用form中的方法呢? 解答: 每一个从Control类中派生出来的WinForm类(包括Control类)都是依靠底层Windows消息和一个...

经验教程

102

收藏

90
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部