在Windows资源管理器中,您可以使用以下结构:
(a directory)
(a file without an extension)
我的结构是:
(a directory)
我要做的是重命名"一些File.txt"到了"新目录",就像在资源管理器中一样。我正在使用File.Move("/Main Directory/Some File.txt", "/Main Directory/New Directory");
但是,我一直在说例外
当该文件已存在时无法创建文件。
我认为它并不喜欢这样一个名为" New Directory"的目录。但鉴于同名目录和文件可能共存,我不明白为什么Move
API会对此有所了解。
有没有办法让它在复制文件时忽略具有相同名称的目录,反之亦然?
编辑:我最近重新安装了Windows并忘了重新打开文件扩展名,因此我在资源管理器中重命名并不像我以前那样修改扩展程序。随着扩展,我无法执行重命名。所以行为实际上是预期的。我将此留在这里以防将来有人做同样的事情。
答案 0 :(得分:3)
...鉴于同名的目录和文件可以共存......
该陈述不正确。容器中的每个对象都必须具有不同的名称。据推测,您的shell配置为隐藏已注册文件类型的扩展名,这会导致您做出错误的声明。
报告的错误消息是准确的,如果不重命名其中一个文件,则无法避免。