我想复制、重命名文件并将其移动到新位置。根据http://msdn.microsoft.com/en-us/library/36xbexyf(v=vs.90).aspx以下代码应该这样做:
此示例将文件 Test.txt 复制到目录 TestFiles2 并将其重命名为 NewFile.txt。
My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2", "NewFile.txt", FileIO.UICancelOption.DoNothing)
但是,当我键入此代码时,它只会将“NewFile.txt”参数视为处理覆盖的布尔参数。我相信这是网站部分的错误。
如果我不能使用“My.Computer.FileSystem.CopyFile”(除非我做错了什么)来复制重命名和移动文件,那么有没有更好的方法:
' Rename the file to be copied the name you want it to be in the new location
My.Computer.FileSystem.RenameFile("C:\OriginalFile.txt", "OriginalFileTemporaryName.txt")
' Copy the file to the new location and overwrite if it exists there
My.Computer.FileSystem.CopyFile ("C:\OriginalFileTemporaryName.txt", "C:\UserFiles\TestFiles2", True)
' Rename the original file back to it's original name
My.Computer.FileSystem.RenameFile("C:\OriginalFileTemporaryName.txt", "OriginalFile.txt")
我遇到的问题是我可能最终将原始文件重命名为原始文件位置中已经存在的临时名称。我想避免这种情况。我也不想重命名目标文件夹中的复制文件,因为我没有看到强制覆盖“My.Computer.FileSystem.RenameFile”的选项
这甚至是一个不错的解决方案吗? 没有更好的方法来做到这一点吗?