Id想在一个特定目录中重命名我的所有文件。他们都将获得相同的扩展名。我尝试使用for循环:
For Each s As String In IO.Directory.GetFiles(Environ("PROGRAMFILES(x86)"), "*", IO.SearchOption.AllDirectories)
Try
My.Computer.FileSystem.RenameFile(s, s & ".new")
Catch ex As Exception
End Try
使名称s(作为字符串)成为s并扩展名为“ .new” 但是,那没用。
答案 0 :(得分:0)
如果您已经阅读了要调用的RenameFile
方法的文档(应该从头开始,尤其是当它不起作用时),那么您会知道第一个参数需要使用完整的路径文件,而第二个参数仅需要文件的新名称。这意味着您需要这样做:
My.Computer.FileSystem.RenameFile(s, My.Computer.FileSystem.GetName(s) & ".new")
在两种情况下,File.Move
方法都需要完整路径,因为它支持在同一文件夹内重命名并移动到其他文件夹。您说您想使用RenameFile
,但不必理会它的不同之处,即它仅支持在同一文件夹中重命名,因此两次指定该路径毫无意义,并且允许指定不同的路径会导致问题