4

我是 VBscript 的新手,希望在将特定数量的文件从一个目录移动到另一个目录时得到一些帮助。

现在,我目前有一组 3 个具有不同扩展名的文件(用于测试目的),如果源目录中恰好有 3 个文件(不多也不少),我想移动所有文件。到目前为止,我的代码是:

Set fso=CreateObject("Scripting.FileSystemObject")

Set fldr=fso.getFolder("C:\folderA")
for each file in fldr.files
    If fldr.files < 3 then
            msgbox("Need more files")
    Else
            fso.MoveFile "C:\folderA\*", "C:\folderB"
    End If

任何帮助将不胜感激。谢谢大家!

4

3 回答 3

3
  1. 用于fso.getFolder("C:\folderA").Files.Count获取C:\folderA.
  2. 在文件之前执行此操作 - 而不是在循环中执行此操作(以移动它们)
  3. 如果文件夹恰好包含 3 个文件,请考虑移动(并重新创建)该文件夹
于 2013-01-15T16:38:21.823 回答
2
Set FSO=CreateObject("Scripting.FileSystemObject")
Set fldr= FSO.GetFolder("C:\FolderA")
Set Collec_Files= fldr.Files
For Each File in Collec_Files
    If Collec_Files.count < 3 then
      msgbox("Need more files")
    Else
      FSO.MoveFile "C:\FolderA\*", "C:\FolderB"
    End If
Next
于 2015-08-17T21:28:29.643 回答
0

我做了以下代码,它工作得很好。它正在移动其他 3 个不同的文件夹,查看文件的名称和类型。

Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(rootDir)
For each file in f.files
    filename = folderName & file.name

    extFile = right(file.Name, 4) 'gets the file extension .xls

    strExport = left(file.Name,6)  

    strExportAPI = left(file.Name, 3)

    Do

        If (extFile <> ".vbs") Then 
        
            strsub = "KeyWord"
            index = InStr(file.name, strsub)
        
        End If  
                    
        If (strExportAPI = "Value") Then 
            fs.CopyFile file, dirKeyWord&file.name
            fs.MoveFile file, dirKeyWord&file.name
            Exit Do             
        End if
    
        If (index > 0) Then
            fs.CopyFile file, dirKeyWord&file.name
            fs.MoveFile file, dirKeyWord&file.name
            Exit Do
        End If
    
    
        Do while (strExport = "export")
            fs.MoveFile file, dirKey3&file.name
            Exit Do 
        Loop            
    Loop While False
Next

于 2021-05-28T12:43:51.450 回答