[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

如何用VBS来复制某文件以及子目录中的文件 ?

如何用VBS来复制某文件以及子目录中的文件?例如我想把D盘中(包括D盘中所有目录以及子目录)中的PDF文件复制到E盘的123文件夹中应该如何操作?
谢谢。

不知道是不是这个意思?
  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
复制代码

TOP

谢谢帮忙,我先试试啊。

TOP

不行啊,提示有错误。

TOP

二楼的少了个引号,呵呵...
  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
复制代码

TOP

返回列表