使用子文件夹和文件重命名目录
答
你总是可以执行REN命令行方式:
REN Dir1 Dir2
您也可以尝试:
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Server.MapPath("Dir1"));
di.MoveTo(Server.MapPath("Dir2"));
下面是使用REN方法的粗略C#版本:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.FileName = "cmd.exe";
startInfo.WorkingDirectory = "D:\\Temp";
Process oProcess = Process.Start(startInfo);
oProcess.StandardInput.WriteLine(@"Echo on");
oProcess.StandardInput.WriteLine(@"ren ~test2 ~test1");
oProcess.StandardInput.WriteLine(@"EXIT");
string output = oProcess.StandardOutput.ReadToEnd();
oProcess.WaitForExit();
Console.Write(output);
oProcess.Close();
+0
对不起,但这必须从C#代码完成。 –
+0
@TravisJ:更新了使用ren方法的C#机制。 –
+0
非常感谢,使用DirectoryInfo和MapPath一起工作的建议非常好,我很感谢帮助! –
什么错误?这里没有太多可以继续。 –
你在哪里读过它不能用于非空目录?你在处理异常吗?如果是这样,什么是例外? –
正如其他人所说你需要添加更多信息,文档中没有任何内容(http://msdn.microsoft.com/en-us/library/system.io.directory.move.aspx),它说它可以'不能用于非空目录,但可以引发大量记录的错误,例如试图将目录移动到已存在的路径。更详细的人可以给你一个有用的答案 – RobV