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 ();
我正在尝试使用此命令在桌面上创建一个目录,但它不会创建一个目录。谁能告诉我为什么?
答案 0 :(得分:3)
这样做:
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)
您忘记在桌面上附加要创建的文件夹的名称。