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

VBScript to Rename File with Specific Prefix in Folder

我已经成功创建了一个 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

您的 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 变量,因为这里根本不需要它。