c#调用dos命令

原创 2007年09月12日 11:18:00

using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace InstallAll
{
 /// <summary>
 /// 安装 msde 程序 数据库
 /// </summary>
 class InstallAll
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            //
            // TODO: 在此处添加代码以启动应用程序
            //
            //            //构造直接执行
            string path = Application.StartupPath;
            string strOdbc = GetBat();
            System.Diagnostics.Process p = new Process();
//            try
//            {
//                ps.StartInfo.UseShellExecute = true;
//                ps.StartInfo.CreateNoWindow = true;
//
//                ps.StartInfo.FileName = path + "//configure.bat";
//                ps.Start();
//            }
//            catch(System.Exception ex)
//            {
//                ps.Close();
//
//            }

            try
            {
                p.StartInfo.FileName = "cmd.exe";
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.CreateNoWindow = false;

                p.Start();
                p.StandardInput.WriteLine(strOdbc);
                p.StandardInput.WriteLine("exit");
                string strRst = p.StandardOutput.ReadToEnd();
                p.Close();
            }
            catch
            {
                p.Close();
            }
        }

        private string GetBat()
        {
            string bat = "@echo 开始安装MSDE,请稍候..."+
                "MSDE//Setup.exe   /qb+   INSTANCENAME=TransinoBS  DISABLENETWORKPROTOCOLS=1   SAPWD=TransinoBS securitymode=SQL"+
                "@echo on"+
                "@echo off"+
                "@echo 开始安装Framework,请稍候..."+
                "cd Framework"+
                "dotnetfx.exe /Q"+
                "langpack.exe /Q"+
                "cd.."+
                "@echo 正在重启MSDE服务,请稍候..."+
                "net stop MSSQL$TransinoBS"+
                "net start MSSQL$TransinoBS"+
                "osql -E -S  (local)//TransinoBS  -Q /"if exists(select * from sysdatabases  where name = 'TransinoBS') begin drop database TransinoBS end /" "+
                "@echo 正在停止MSDE服务,请稍候..."+
                "net stop MSSQL$TransinoBS"+
                "@echo 开始创建文件目录,请稍候... "+
                "if exist /"C://TransinoSvr/" Rd/S/Q /"C://TransinoSvr/" "+
                "Md /"C://TransinoSvr///""+
                "Md /"C://TransinoSvr//DATA///" "+
                "Md /"C://TransinoSvr//Model///" "+
                "Md /"C://TransinoSvr//IJ///" "+
                "@echo 开始复制数据文件,请稍候..."+
                "Copy /".//DATA///" /"C://TransinoSvr//DATA///" "+
                "@echo 开始复制表单模板,请稍候..."+
                "copy /".//Model//*.xls/" /"C://TransinoSvr//Model///""+
                "@echo 开始恢复系统数据库,请稍候..."+
                "net start MSSQL$TransinoBS"+
                "osql -E -S  (local)//TransinoBS  -Q /"EXEC sp_attach_db @dbname = N'TransinoBS', @filename1 = N'C://TransinoSvr//DATA//TransinoBS.mdf', @filename2 = N'C://TransinoSvr//DATA//TransinoBS.ldf'/""+
                "osql -E -S  (local)//TransinoBS  -Q /"use TransinoBS update MetaData set strParaValue = N'C://TransinoSvr//Model//'  where strParaCode = 'RptModel'/" "+
                "osql -E -S  (local)//TransinoBS  -Q /"use TransinoBS update MetaData set strParaValue = N'C://TransinoSvr//IJ//'  where strParaCode = 'FileModel'/" "+
                "@echo 正在配置ODBC系统数据源,请稍候..."+
                "odbcconf.exe /a {CONFIGSYSDSN /"SQL Server/" /"DSN=TransinoBS|SERVER=(local)//TransinoBS|Database=TransinoBS/"} ";
           
            return bat;
        }
 }
}
 

相关文章推荐

C#如何调用ms dos窗口运行多条批处理命令 asp.net

批处理命令,是执行速度最快效益最高的命令。因为批处理命令,说白了,就是ms-dos环境下的命令,有很多的批处理命令,都是纯DOS下的命令。   然而,批处理命令尽管功能强大,却存在不足之处。批处...

C#中利用process类调用外部程序以及执行dos命令

c#中的Process类可方便的调用外部程序,所以我们可以通过调用cmd.exe程序 加入参数 "/c " + 要执行的命令来执行一个dos命令 (/c代表执行参数指定的命令后关闭cmd.exe ...

C# 定时关机 调用Dos命令

  • 2009年09月04日 11:39
  • 374KB
  • 下载

c#执行Dos命令

原文连接 一个执行Dos命令的窗口程序,与各位分享。    效果图:     具体实现在代码中有详细的注释,请看代码。   实现执行CMD命令的核心代码(Cmd.cs):   [csharp]  ...

C#通用类库--DOS常用命令

//类名:EcanDOS //作用:DOS常用命令操作 //作者:刘典武 //时间:2010-12-01 using System; using System.Collections.G...

c# winform执行DOS命令

c# winform执行DOS命令
  • szsbell
  • szsbell
  • 2016年06月30日 15:28
  • 756

在C#中执行dos命令并返回结果字符串

在项目中,将本地C盘的一个文件夹使用subst命令映射成了X盘,在C#代码中需要获取这个X盘在C盘中的真实路径。但是在C#中并没有找到相应的接口来获取这个结果,或许是我没有找到。在DOS中有命令sub...

C#实现实现Dos命令和FTP

  • 2011年01月09日 20:28
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#调用dos命令
举报原因:
原因补充:

(最多只允许输入30个字)