需要通过特定文件夹中的VBScript重命名多个文件

需要通过特定文件夹中的VBScript重命名多个文件,vbscript,filenames,file-rename,Vbscript,Filenames,File Rename,我需要通过VBScript重命名特定文件夹中的多个文件 例如: 使用数字约定将名称更改为特定名称,例如将Part1.csv更改为20-8月31日的Part1.csv,将Part2.csv更改为29-2.csv 此处20年8月31日将保持不变,但数量会增加。因此,在下面的代码中,我不想为每个文件指定新名称,即31-Aug-20-1.csv,而应该更改为31-Aug-20(增量编号) 此代码将使用增量编号重命名文件: Dim iCounter Dim folderName Dim fso, fold

我需要通过VBScript重命名特定文件夹中的多个文件

例如:

使用数字约定将名称更改为特定名称,例如将Part1.csv更改为20-8月31日的Part1.csv,将Part2.csv更改为29-2.csv

此处20年8月31日将保持不变,但数量会增加。因此,在下面的代码中,我不想为每个文件指定新名称,即31-Aug-20-1.csv,而应该更改为31-Aug-20(增量编号)


此代码将使用增量编号重命名文件:

Dim iCounter
Dim folderName
Dim fso, folder, file

' Path
folderName = "C:\User\desktop\ATL\"

' Create filesystem object and the folder object
Set fso = CreateObject("Scripting.FileSystemObject")  
Set folder = fso.GetFolder(folderName)  

iCounter = 1
For Each file In folder.Files
    file.Name = "ATL-32-Aug-20-" & iCounter & ".csv"
    iCounter = iCounter + 1
Next
如果要保留原始文件名(Part#.csv)中的数字,可以添加以下逻辑:

Const vbTextCompare = 1
Dim folderName
Dim fso, folder, file
Dim sNumber
Dim sPrefix

' Path and prefix
folderName = "C:\User\desktop\ATL\"
sPrefix = "ATL-32-Aug-20-"

' Create filesystem object and the folder object
Set fso = CreateObject("Scripting.FileSystemObject")  
Set folder = fso.GetFolder(folderName)  

For Each file In folder.Files
    ' Check for "Part" and ".csv" in file name
    If StrComp(Left(file.Name, 4), "Part", vbTextCompare) = 0 And StrComp(Right(file.Name, 4), ".csv", vbTextCompare) = 0 Then
        ' Extract number
        sNumber = Mid(file.Name, 5, Len(file.Name) - 8)
        ' Rename file
        file.Name = sPrefix & sNumber & ".csv"
    End If
Next

增量编号是否应与零件编号匹配,或者增量是否应随每个新文件不断增加?是-增量编号需要与零件编号一致。例如,从Part1.csv到Part7.csv,我每周只有7个文件,我需要用特定名称重命名它们,即ATL-01-SEP-20-1.csv到ATL-01-SEP-20-7。csv@aDDy那么问题是什么,你有没有出错?如果有,是什么问题?这个问题无法解释问题所在,那么您希望我们如何提供解决方案?虽然我没有测试过,但我觉得代码看起来不错。我测试了代码。它可以正确重命名文件,即Part1.csv->ATL-31-Aug-20-1.csv。或者你想要一个动态的重命名,比如Part#.csv->ATL-31-Aug-20-#.csv?@Mike67正是我的观点,MCVE的工作并不能真正帮助理解OPs的要求是什么以及他们试图实现什么。谢谢Etienne,但是上面的代码给出了错误-第3行字符1和错误:Object Required:“folder”。此外,如何在上面的代码中定义文件夹路径?这是一个与定义了
文件夹
变量的现有代码集成的代码。
Const vbTextCompare = 1
Dim folderName
Dim fso, folder, file
Dim sNumber
Dim sPrefix

' Path and prefix
folderName = "C:\User\desktop\ATL\"
sPrefix = "ATL-32-Aug-20-"

' Create filesystem object and the folder object
Set fso = CreateObject("Scripting.FileSystemObject")  
Set folder = fso.GetFolder(folderName)  

For Each file In folder.Files
    ' Check for "Part" and ".csv" in file name
    If StrComp(Left(file.Name, 4), "Part", vbTextCompare) = 0 And StrComp(Right(file.Name, 4), ".csv", vbTextCompare) = 0 Then
        ' Extract number
        sNumber = Mid(file.Name, 5, Len(file.Name) - 8)
        ' Rename file
        file.Name = sPrefix & sNumber & ".csv"
    End If
Next