Board logo

标题: 如何用VBS来复制某文件以及子目录中的文件 ? [打印本页]

作者: smallbear    时间: 2010-2-10 21:56     标题: 如何用VBS来复制某文件以及子目录中的文件 ?

如何用VBS来复制某文件以及子目录中的文件?例如我想把D盘中(包括D盘中所有目录以及子目录)中的PDF文件复制到E盘的123文件夹中应该如何操作?
谢谢。
作者: more    时间: 2010-2-10 23:29

不知道是不是这个意思?
  1. Option Explicit
  2. Dim objFSO, strPath, objFolder, objFile
  3. strPath = "d:\"
  4. Set objFSO = CreateObject("Scripting.FileSystemObject")
  5. Set objFolder = objFSO.getfolder(strPath)
  6. Call GetAllFolders(objFolder)
  7. For Each objFile In objFolder.Files
  8.     If objFSO.GetExtensionName(objFile.Name) = "pdf" Then
  9.             objFSO.GetFile(objFile).Copy ("e:\123\)
  10.     End If
  11. Next
  12. Set objFSO = Nothing
  13. Set objFolder = Nothing
  14. Sub GetAllFolders(Folder)
  15.           Dim SubFolder, objFile, objFSO
  16.           Set objFSO = CreateObject("scripting.filesystemobject")
  17.           For Each SubFolder In Folder.SubFolders
  18.             For Each objFile In SubFolder.Files
  19.                       If objFSO.GetExtensionName(objFile.name) = "pdf" Then
  20.                               objFSO.GetFile(objFile).Copy ("e:\123\")
  21.                       End If
  22.             Next
  23.             Call GetAllFolders(SubFolder)
  24.           Next
  25.           Set objFSO = Nothing
  26. End Sub
复制代码

作者: smallbear    时间: 2010-2-11 22:02

谢谢帮忙,我先试试啊。
作者: smallbear    时间: 2010-2-11 22:25

不行啊,提示有错误。
作者: more    时间: 2010-2-11 23:52

二楼的少了个引号,呵呵...
  1. Option Explicit
  2. Dim objFSO, strPath, objFolder, objFile
  3. strPath = "d:\"
  4. Set objFSO = CreateObject("Scripting.FileSystemObject")
  5. Set objFolder = objFSO.getfolder(strPath)
  6. Call GetAllFolders(objFolder)
  7. For Each objFile In objFolder.Files
  8.     If objFSO.GetExtensionName(objFile.Name) = "pdf" Then
  9.         objFSO.GetFile(objFile).Copy ("e:\123\")   '这里少了个引号,汗...
  10.     End If
  11. Next
  12. Set objFSO = Nothing
  13. Set objFolder = Nothing
  14. Sub GetAllFolders(Folder)
  15.      Dim SubFolder, objFile, objFSO
  16.      Set objFSO = CreateObject("scripting.filesystemobject")
  17.      For Each SubFolder In Folder.SubFolders
  18.          For Each objFile In SubFolder.Files
  19.              If objFSO.GetExtensionName(objFile.name) = "pdf" Then
  20.                  objFSO.GetFile(objFile).Copy ("e:\123\")
  21.              End If
  22.          Next
  23.          Call GetAllFolders(SubFolder)
  24.      Next
  25.      Set objFSO = Nothing
  26. End Sub
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2