`
helloyesyes
  • 浏览: 1310202 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

C# 调用cmd.exe的方法

阅读更多

网上有很多用C#调用cmd的方法,大致如下:

private void ExecuteCmd(string command) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; p.Start(); p.StandardInput.WriteLine(command); p.StandardInput.WriteLine("exit"); p.WaitForExit(); this.textBox1.Text=textBox1.Text+ p.StandardOutput.ReadToEnd(); p.Close(); }


上面代码有几个不足,一是必须要exit那一句,否则就会死循环。再就是每次执行Execute执行cmd后,都必须等到cmd执行完且

cmd.exe进程退出,才能读到结果。有时候这样会让我们的应用程序失去操作的连续性。
事实上,通过两个线程,一个访问输入管道,一个访问输出管道,可以很容易实现持续性的效果,下面是一个Console程序:


分享到:
评论

相关推荐

    C#调用CMD命令并获取动态信息

    总之,通过C#调用CMD命令并实时获取输出信息,开发者可以灵活地控制程序执行的流程,特别是在处理大量数据或长时间运行的任务时,这种技术能提供必要的进度监控和用户反馈。这在提高应用程序的可交互性和用户体验...

    C#调用cmd命令.zip

    总结,C#调用CMD命令主要依赖`System.Diagnostics.Process`类,通过设置不同的启动参数和使用输入输出流,可以实现不重启CMD进程的连续执行以及获取执行结果。在编写代码时,一定要注意进程管理、错误处理以及用户...

    c#调用CMD函数

    process.StartInfo.FileName = "cmd.exe"; // CMD可执行文件 process.StartInfo.UseShellExecute = false; // 不使用外壳程序执行 process.StartInfo.RedirectStandardInput = true; // 重定向标准输入 process....

    C#调用cmd命令行设置命令 并获取返回的数据

    总的来说,C#调用CMD命令行并获取返回数据是通过`System.Diagnostics.Process`类来实现的,这使得我们可以方便地执行各种系统级操作,增强了C#程序的功能。在实际开发中,这个技巧常用于系统集成、自动化测试、文件...

    C#调用cmd执行命令

    ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/c " + command); psi.CreateNoWindow = true; // 隐藏CMD窗口 psi.UseShellExecute = false; // 不使用外壳程序启动 psi.RedirectStandardOutput = ...

    资源管理器,C#代码编写,可以方便的管理:控制面板、注册表、打印机、CMD.EXE、设备管理、任务管理

    本项目是用C#编程语言编写的,旨在提供一个自定义的、功能丰富的资源管理器,它扩展了标准资源管理器的功能,包括对控制面板、注册表、打印机、命令提示符(CMD.EXE)、设备管理器和任务管理器的直接操作。下面将详细...

    asp.net程序部署后用c#调用cmd不运行方案

    代码中硬编码的路径(如“D:\\pdfSwfReader\\cmd.exe”)可能在部署后的服务器环境中不可用。服务器的目录结构可能与本地开发环境不同,导致路径错误。应使用相对路径或动态构建路径,如示例代码中使用`Server....

    C#调用EXE_C#_

    `UseShellExecute`被设置为`false`,意味着不通过操作系统外壳(如cmd.exe)来启动程序,而是直接启动。`CreateNoWindow`设置为`true`是为了避免显示命令行窗口。然后,通过`Process.Start`方法启动进程,并使用`...

    c#调用mysql用于数据库开发

    下面我们将深入探讨如何在C#中调用MySQL进行数据库开发。 1. **安装必要的库** 在C#中与MySQL交互,我们需要一个驱动程序,如`MySql.Data.MySqlClient`库。这可以通过NuGet包管理器来安装。在Visual Studio中,...

    c# winform调用cmd命令+写bat脚本并执行

    在 C# 中调用 cmd 可以实现一些系统级的操作,比如执行命令行工具,管理系统资源等。它有以下优势: (1)强大的系统级操作:通过调用 cmd,可以执行各种系统命令,如创建、删除、复制、移动文件和文件夹等。这使得...

    WCF客户端代理生成工具SvcUtil7.0.exe

    找到如下地址“C:\Windows\System32\cmd.exe” 命令行工具,右键以管理员身份运行(视系统是否为win7 而定) 2.输入如下命令: C:\>cd C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin C:\Program Files\...

    OPCDAAuto.dll 文件,C#调用OPCDAAuto实现对kepserver读写

    应该是下载后在64位系统下粘贴到该目录, C:\Windows\SysWOW64 下,然后在该目录找到 cmd.exe ,右键管理员身份打开,输入 regsvr32 opcdaauto.dll 即可. 2. 在vs里右键添加引用. 3. .net程序中引用: using ...

    c#调用FME模板文件实例,vs2013,fme2014环境

    本实例将探讨如何在Visual Studio 2013环境下,利用C#调用FME的模板文件,实现数据的批量操作,并通过CMD命令行模式进行控制。 首先,我们需要了解FME的工作原理。FME提供了一种可扩展的API,允许开发者在自己的...

    C# 执行cmd 命令 获取返回信息

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

    C#执行CMD命令获取返回结果

    ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/c " + command); psi.RedirectStandardOutput = true; // 设置重定向标准输出 psi.UseShellExecute = false; // 不使用外壳执行,使我们可以捕获输出 ...

    C#调用ffmpeg录屏并通过网络发送出去

    完整的C#代码,VS2008工程。ffmpeg录屏并通过UDP发送出去,接收端的可以直接播放或者保存: 1)播放:ffplay -f h264 udp://本机IP:6666 2)保存:ffmpeg -i udp://本机IP:6666 -c copy dump.flv 由于是采用UDP方式...

    C#操作cmd,启动命令行窗口

    - 设置`FileName`为`"cmd.exe"`,表示要启动的程序是命令提示符。 2. **配置StartInfo属性**: - `UseShellExecute`设置为`false`,意味着不使用操作系统shell启动应用程序,而是直接启动。 - `RedirectStandard...

    C#调用DOS命令方法

    #### 方法二:通过`cmd.exe`执行多条DOS命令 当需要连续执行多个DOS命令时,可以先启动`cmd.exe`,然后通过其标准输入流来发送命令,最后关闭命令提示符。这种方法灵活,可以执行复杂的命令序列: ```csharp using...

    C#winform执行cmd命令

    ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/c " + command); psi.CreateNoWindow = true; // 隐藏CMD窗口 psi.RedirectStandardOutput = true; // 重定向输出 psi.UseShellExecute = false; ...

Global site tag (gtag.js) - Google Analytics