VBScript重命名文件夹中的特定前缀文件

时间:2016-03-07 19:16:46

标签: vbscript file-rename

我已经成功创建了一个VBScript,当它是文件夹中唯一的文件时,它根据需要重命名文件。我无法弄清楚如何让脚本搜索过去最近的文件。

 Option Explicit

 Dim fso, folder, file,  tmFile
 Dim folderName

 folderName     = "\\pcc\Int\PC\Inbox\"

 Set fso = CreateObject("Scripting.FileSystemObject")  
 Set folder = fso.GetFolder(folderName)  
 Set tmFile = Nothing

 For each file In folder.Files    

 If (tmFile is Nothing) Then 
     Set tmFile = file
     Exit For
 End IF

 Next

 If InStr(tmfile.name, "TM") Then
     TmFile.Name = Replace(tmFile.Name, ".txt", "A.txt")
 End if

以上脚本正确重命名文件。

以下是我尝试浏览文件夹中所有文件以搜索具有前缀TM的文件的一些修改。这将始终是具有TM前缀的唯一文件。

 For Each InStr(tmFile.name, "TM")  Then 
    tmFile.Name = Replace(tmFile.Name, ".txt", "A.txt")
 Exit for

 If tmFile.fileexists(tmFile.name, "TM")  Then 
     tmFile.Name = Replace(tmFile.Name, ".txt", "A.txt")
 End if

1 个答案:

答案 0 :(得分:1)

您与instr()关系密切,只是您需要将该测试置于现有的For循环中:

Option Explicit

 Dim fso, folder, file,  tmFile
 Dim folderName

 folderName     = "\\pcc\Int\PC\Inbox\"

 Set fso = CreateObject("Scripting.FileSystemObject")  
 Set folder = fso.GetFolder(folderName)  

 For each file In folder.Files  
     If instr(file, "TM") > 0 THEN
         file.name = replace(file.name, ".txt". "A.txt")
     End IF
 Next

我已删除了tmfile变量,因为此处根本不需要它。