在Windows资源管理器,你可以有这样的结构:文件已存在当移动文件
- 主目录
- 新目录
(a directory)
- 新目录
(a file without an extension)
- 新目录
我结构是:
- 主目录
- 新目录
(a directory)
- 一些FILE.TXT
- 新目录
我试图做的是重命名 “有些FILE.TXT” 到“新目录“,就像你可以在资源管理器中。我使用File.Move("/Main Directory/Some File.txt", "/Main Directory/New Directory");
不过,我不断收到一个异常说,当该文件已存在
无法创建文件。
我认为它不喜欢有一个名为“新目录”的目录。但考虑到同名的目录和文件可能共存这一事实,我不明白为什么Move
API会对此有所赘述。
有什么方法可以告诉它在复制文件时忽略具有相同名称的目录,反之亦然?
编辑:最近我重新安装了Windows和忘记重新打开文件扩展名,所以我在资源管理器中重命名不修改扩展名像我习惯了这样做。通过扩展名,我无法执行重命名。所以行为实际上是预期的。如果有人在将来做同样的事情,我会在这里留下。
“但是,考虑到目录和文件名称可能共存的事实......”只是错误的:它们不能共存同名,因为目录就像一个文件,但有一些差异。 – zx485
你实际上是否尝试重命名一个文件与文件夹名称相同?我想你会发现你实际上***不能做到这一点。 – Abion47
@ zx485我刚刚意识到我的头脑总是空白,文件扩展名关闭,所以我在资源管理器中重命名并没有修改扩展名。使用扩展名时,我无法执行重命名。 – RareNCool