【问题标题】:Running Command Prompt commands from C# Program从 C# 程序运行命令提示符命令
【发布时间】:2017-07-19 04:49:50
【问题描述】:

我需要从 C# 程序运行命令行。我想设置命令行窗口的目录。为此,我使用以下代码:

Process.Start("cmd", @"cd C:\Users\user1\Desktop");

当我运行 c# 程序时,会打开一个命令行窗口,但目录未设置为 C:\Users\user1\Desktop,这意味着该命令未执行。我做错了什么?

【问题讨论】:

  • *.com/questions/5047171/…。我相信你会想做“cmd /k C:\Users\user1\Desktop”
  • 命令改变目录后,你想接下来发生什么?窗口/进程保持打开状态?还是窗口/进程退出?
  • "目录未设置" -- 哪个目录未设置?您正在执行的命令将更改命令上下文中的目录。但它不会影响启动该命令的进程的当前目录,也不会影响任何其他可能处于活动状态的命令提示符窗口的当前目录。从您的问题中根本不清楚您希望实现什么。

标签: c# command-line-arguments


【解决方案1】:

要设置工作目录,你也可以像这样使用ProcessStartInfo

using System;
using System.Diagnostics;

namespace so45176273
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            var startInfo = new ProcessStartInfo("cmd")
            {
                WorkingDirectory = @"c:\Trash",
                Arguments = "/k" // will leave the process running until you type exit
            };

            Process.Start(startInfo);

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
    }
}

【讨论】:

    【解决方案2】:

    我相信这就是您正在寻找的答案。

    Process.Start("cmd", @"/c cd C:\Users\user1\Desktop");
    

    【讨论】:

      最近更新 更多