2013-05-01 44 views
0

我有文件的列表與此命名約定的目錄:重命名一組文件的一部分

CFW-500-FY13Q4.doc

CFW-501-FY13Q4.doc

CFW-502-FY13Q4.doc

...

CFW-520-FY13Q4.doc

我試圖用FY14Q1替換FY13Q4,但是我很難繞過我的頭,只想重命名文件的那一部分而不會丟失編號序列(500,501等)。這是我目前的代碼,它並不適用於我,因爲它所做的只是將第一個文件重命名爲CFW-500-FY13Q4CFW-500-FY14Q1.doc,其餘部分不變。

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") 

有人能指點我正確的方向嗎?

回答

0

你可以只是一個替代方法:

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

這看起來像它應該工作做,但它拋出了這個錯誤:參數「了newName」必須是一個名稱,而不是相對或絕對路徑:'C:\ Users \ account1 \ Documents \ testenvironment \ FY14Q1 \ CFW-500-FY14Q1.doc'。 – user2300114 2013-05-01 17:12:01

0

如果這是一個一次性的任務,你可以在命令提示符下使用

ren ????????FY13Q4.doc ????????FY14Q1.doc 
相關問題