微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

示例:

使用数字约定将名称更改为特定名称,例如将Part1.csv更改为31-AUG-20-1.csv,将Part2.csv更改为31-Aug-29-2.csv

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

private volatile String string = "old";

public String getAndSet() {
    String old = string;
    string = "new";
    return old;
}

解决方法

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

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,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,".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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?