C#的Directory.Move System.NotSupportedException

时间:2012-02-14 21:53:25

标签: c# exception directory move

有没有办法绕过问题标题中指定的异常?我完全不知道该怎么做,我需要更改很多目录的目录名称,编程会快得多,但这个异常让我有些头疼......代码并不复杂,除了一行代码之外,一切正常:

Directory.Move(folderName, path + "\\" + novoIme);

提前感谢您提供任何帮助:)

3 个答案:

答案 0 :(得分:0)

您可以向项目添加Microsoft.VisualBasic引用,并使用此代码重命名目录:

Microsoft.VisualBasic.Devices.Computer c = new Microsoft.VisualBasic.Devices.Computer();
c.FileSystem.RenameDirectory(/*last name*/,/*new name*/);

答案 1 :(得分:0)

如果您确定存在源文件夹,请尝试使用提升的权限运行您的应用程序,看看会发生什么。另外,尝试在单独的变量中形成目标路径,将其添加到Watches窗口并查看是否创建了正确的名称。

答案 2 :(得分:0)

源路径和目标路径可能位于不同的卷上? Directory.Move方法does not support cross-volume moves

您必须实施自己的例行程序才能执行此操作,或使用其他人的例行程序。 FolderMove on CodePlex出现在我的搜索结果中。