对于我的应用程序,我允许用户能够重命名项目,这意味着我需要重命名磁盘上的目录和文件。问题是如果用户打开目录。我将收到错误" 访问路径' ...'被拒绝。",但此时我已经重命名了几个文件。
我的问题是,在开始进行更改之前,是否有办法验证目录或文件是否可以在没有任何问题的情况下重命名。
这是我到目前为止的代码片段:
Try
Dim directory As New IO.DirectoryInfo(WorkingDirectory)
' Verify if the old directory path exists on the disk, if so rename it using the new directory name.
If IO.Directory.Exists(oldDirectoryPath) Then
' Delete old project file
If IO.File.Exists(oldFilePath) Then
IO.File.Delete(oldFilePath)
End If
' Rename all files in subdirec with new name
If IO.Directory.Exists(oldSubDirectory) Then
For Each file As String In IO.Directory.GetFiles(oldSubDirectory,
$"*_{oldName}.*",
IO.SearchOption.AllDirectories)
FileIO.FileSystem.RenameFile(file, newFileName)
Next
End If
FileIO.FileSystem.RenameDirectory(oldDirectoryPath, directory.Name)
End If
Catch ex As IO.IOException
' Show error message to user
End Try
答案 0 :(得分:0)
对不起,我无法发表评论。但是我认为这是一个非常有趣的问题。 但是我想知道首先重命名目录,然后重命名文件。如果打开了该目录中的任何文件,则无法重命名该目录,因此也没有重命名任何文件。只是一个想法!