2016-03-07 71 views
1

我已經成功創建了一個VBScript,它在文件夾中唯一的文件時根據需要重命名文件。我無法弄清楚如何讓腳本搜索過去最近的文件。使用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

你接近你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變量,因爲它在這裏根本不需要。

+0

謝謝!那樣做了,下次我會知道。我感謝您的幫助。 :) – jodies

相關問題