在 C# 上使用命令行创建目录

本文关键字:命令行 创建目录 | 更新日期: 2023-09-27 18:37:14

System.Diagnostics.Process process = new System.Diagnostics.Process ();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo ();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "md " + Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
process.StartInfo = startInfo;
process.Start ();

我正在尝试使用此命令在桌面上创建一个目录,但是它不会创建一个目录。谁能告诉我为什么?

在 C# 上使用命令行创建目录

只需这样做:

Directory.CreateDirectory(Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), 
    "my new folder name"));

始终更喜欢使用 .NET 类库,而不是调用外部进程来完成您的工作,除非您有非常具体的原因

不这样做。

您的代码无法正常工作的原因之一是因为您使用了错误的语法来cmd.exe 。 为了将命令作为参数传递,您必须将以下命令与/K开关一起使用(有关详细信息,请使用 cmd /?):

cmd.exe /K MD "c:'test'blah"

代码不起作用的另一个原因是,您提供给 MD 命令的路径只是桌面本身的路径:

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

您忘记附加要在桌面创建的文件夹的名称。