如何将源文件夹名称附加到在 vbs 中复制到另一个位置的文件?

如何将源文件夹名称附加到在 vbs 中复制到另一个位置的文件?

我有一个文件夹“Documents”,里面有很多子文件夹。这些子文件夹下有文件。

我的目标是将文件移动到一个文件夹位置,然后在某个时候将它们移回它们原来的子文件夹。

我的一般想法是在移动后将子文件夹名称附加到文件的开头。然后当需要将它们移回源子文件夹时,也许可以将其用作参考。

这是可行的吗?或者您对如何实现这一点还有其他想法吗?我只知道如何在 VBA 中移动/复制文件。

这是我当前使用的代码:

Fldr= "C:\Documents"
Set fs=createobject("scripting.filesystemobject")
Set f=fs.getfolder(Fldr)
Set fsub=f.subfolders

For each f in fc
Subfolderspec=Fldr&"\"&f.name
fs.copyfile Subfolderspec & "*.*", "C:\Test"
On Error Resume Next
Next

答案1

我不知道这是否是最好的方法,但按照您的要求,此代码可以起作用:

Fsrc = "C:\Documents"
Fdst = "C:\Test\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(Fsrc)
Set fsub = f.SubFolders
If Mid(Fdst, Len(Fdst), 1) <> "\" Then Fdst = Fdst & "\"

For Each f In fsub
    For Each fl In fs.GetFolder(Fsrc & "\" & f.name).Files
        new_name = Fsrc & "\" & f.name
        new_name = Replace(new_name, ":", "")
        new_name = Replace(new_name, "\", "_")
        new_name = new_name & "_" & fl.name
        fs.CopyFile fl, Fdst & new_name
    Next
    On Error Resume Next
Next

相关内容