【问题标题】:CMD command on c#C#上的CMD命令
【发布时间】:2015-10-03 11:51:24
【问题描述】:

我需要编写一个应从命令提示符运行的 Windows 窗体应用程序、WPF 或控制台应用程序:

@echo off
echo test
or
del c:\b.txt

c# 代码需要在按钮上,但现在并不重要。 我试过这个:

    using System;
    using System.Diagnostics;
    using System.ComponentModel;

    private void button1_Click(object sender, EventArgs e)
    {
        Process process = new Process();
        process.StartInfo.FileName = "cmd.exe";
        //process.StartInfo.WorkingDirectory = "c:\temp";
        //process.StartInfo.Arguments = "somefile.txt";
        Process.Start("cmd", "/dir");

    }

但我不能将我的 CMD 代码放入此 ^ 代码中。

【问题讨论】:

  • 你应该发布你已经尝试过的东西,然后问一个关于什么不起作用的具体问题。
  • 您是否至少尝试过写一些东西,或者您正在等待有人为您写它?
  • 显然我尝试了这个stackoverflow.com/questions/1469764/run-command-prompt-commands 等等,但它们不起作用并且不能使用我需要的命令:(
  • 你能提供你尝试的来源吗?这样我们也许能够找出它为什么不起作用。
  • 哪里可以把CMD命令放在代码上^

标签: c# wpf windows winforms visual-studio


【解决方案1】:

我相信你想要的是这样的:

Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe");
// add /C for command, a space, then command
psi.Arguments = "/C dir";
p.StartInfo = psi;
p.Start();

以上代码允许您直接在 cmd.exe 实例中执行命令。例如,要启动命令提示符并查看目录,请将 ProcessStartInfo 实例的 Arguments 属性分配给 "/C dir",这意味着执行名为 dir 的命令。

您可以使用另一种方法:

// put your DOS commands in a batch file
ProcessStartInfo startInfo = new ProcessStartInfo("action.bat");
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = "C:\\dir"; 
Process.Start(startInfo);

将上面的代码放入你的点击事件中。

使用http://www.ehow.com/how_6534808_create-batch-files.html 中的说明使用您的命令创建一个批处理文件

在我的代码示例中,如果您将批处理文件命名为“action.bat”并将其放在 c:dir 文件夹中,那么一切都会按照您想要的方式进行。

干杯:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2017-09-03
    • 2021-02-19
    相关资源
    最近更新 更多