0

我的服务器上有一个 VB 脚本 (*.vbs),它通过内置的 FileSystemObject 检查是否存在这样的文件......

"C:\path\{filename}.weekly.rar"

如果存在,则将文件复制到同一路径中,但重命名为以下内​​容

"C:\path\{filename}.monthly.rar"

使用此代码

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("C:\path\{filename}.weekly.rar") = True Then
    fso.CopyFile "C:\path\{filename}.weekly.rar", "C:\path\{filename}.monthly.rar", True
End If

有时,*.rar 存档可以拆分为多个文件,所以我在文件夹中

"C:\path\{filename}.weekly.part01.rar"
"C:\path\{filename}.weekly.part02.rar"
"C:\path\{filename}.weekly.part03.rar"
...

如何检查拆分的文件是否也存在,然后将它们重命名在同一位置,例如

"C:\path\{filename}.monthly.part01.rar"
"C:\path\{filename}.monthly.part02.rar"
"C:\path\{filename}.monthly.part03.rar"
...
4

1 回答 1

0

我已经用下面的代码解决了这个问题

Sub CopyRenamed(folder, find_str, replace_with)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim d : Set d = fso.GetFolder(folder)
    Dim f : Set f = d.Files
    Dim file
    For Each file In f
        If InStr(1, file.Name, find_str) > 0 Then
            fso.CopyFile file.Path, fso.BuildPath(folder, Replace(file.Name, find_str, replace_with)), True
        End If
    Next
    Set fso = Nothing   
End Sub
于 2013-01-15T15:52:14.817 回答