首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名一组文件的一部分

重命名一组文件的一部分
EN

Stack Overflow用户
提问于 2013-05-02 00:33:39
回答 3查看 134关注 0票数 0

我在一个目录中有一个文件列表,命名约定如下:

CFW-500-FY13Q4.doc

CFW-501-FY13Q4.doc

CFW-502-FY13Q4.doc

..。

CFW-520-FY13Q4.doc

我试图用FY14Q1替换FY13Q4,但我很难弄清楚如何在不丢失编号顺序(500、501等)的情况下仅重命名文件的那部分。这是我当前的代码,它对我不起作用,因为它所做的就是将第一个文件CFW-500-FY13Q4重命名为CFW-500-FY14Q1.doc,其余的原封不动。

代码语言:javascript
复制
Dim a As Integer = 500
For Each f As String In My.Computer.FileSystem.GetFiles(newDir, FileIO.SearchOption.SearchAllSubDirectories, "*CFW*")
My.Computer.FileSystem.RenameFile(f, "CFW-" & a & "-" & "FY14Q1" & ".doc")

谁能给我指个方向?

EN

回答 3

Stack Overflow用户

发布于 2013-05-02 00:35:48

您可以只使用一个替换方法:

代码语言:javascript
复制
Dim a As Integer = 500
For Each f As String In My.Computer.FileSystem.GetFiles(newDir, FileIO.SearchOption.SearchAllSubDirectories, "*CFW*")
My.Computer.FileSystem.RenameFile(f, f.replace("FY13Q4", "FY14Q1"))
票数 0
EN

Stack Overflow用户

发布于 2013-05-02 01:36:42

我建议您开始使用IO名称空间,特别是IO.Directory和IO.FileInfo,因为它使您的代码更易于维护,因为您现在在更高的级别上操作,而不是简单的字符串。

请看Jon Skeet的回答:

how to enumerate files + folders recursively with System.IO.Directory.GetFiles

FileInfo有一个MoveTo方法,它可以解决您看到的错误。

票数 0
EN

Stack Overflow用户

发布于 2013-05-02 02:13:15

如果这是一次性任务,则可以在命令提示符下使用

代码语言:javascript
复制
ren ????????FY13Q4.doc ????????FY14Q1.doc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16322314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档