我已经成功创建了一个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
答案 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
变量,因为此处根本不需要它。