Vbscript VBS脚本,用于定位具有特定扩展名的所有文件并将其复制到特定目标

Vbscript VBS脚本,用于定位具有特定扩展名的所有文件并将其复制到特定目标,vbscript,copy,directory,locate,Vbscript,Copy,Directory,Locate,我正在做一个项目,创建一个脚本,在工作中使用它来自动化我们的一个过程 我希望脚本检查用户名的输入,以便在指定的用户配置文件路径中搜索.doc、.docx、.pdf、.pst等文件。并将它们按原样复制到网络驱动器位置上创建的文件夹中 我的主要问题是,从指定的用户路径开始检查文件夹和子文件夹的命令或命令链是什么,只检查具有这些扩展名的文件,我猜是复制这些文件,但不会导致重复复制同一文件的情况。很抱歉,这让人困惑。我想我已经理解了大部分需求,在windows中使用.BAT文件方法可以更容易地实现这一点

我正在做一个项目,创建一个脚本,在工作中使用它来自动化我们的一个过程

我希望脚本检查用户名的输入,以便在指定的用户配置文件路径中搜索.doc、.docx、.pdf、.pst等文件。并将它们按原样复制到网络驱动器位置上创建的文件夹中


我的主要问题是,从指定的用户路径开始检查文件夹和子文件夹的命令或命令链是什么,只检查具有这些扩展名的文件,我猜是复制这些文件,但不会导致重复复制同一文件的情况。很抱歉,这让人困惑。

我想我已经理解了大部分需求,在windows中使用.BAT文件方法可以更容易地实现这一点。此批处理(.Bat)文件可以运行复制/删除等命令

因此,创建一个名为test.bat的文件,并在该文件中添加以下脚本:

::XCOPY source [destination]
XCOPY "C:\Temp\*.doc" "C:\Temp\another"
这有什么用?它使用
XCOPY
命令复制
C:\Temp
direcory中扩展名为.doc的任何文件。这些文件将被复制到名为
C:\Temp\other
的文件夹中

XCOPY
采用两个主要参数:源和目标。源是文件当前所在的位置,目标是要将文件复制到的位置。有关所有可用选项的更多信息,请访问:

要运行该文件,只需双击它,或安排它在需要时运行

如果这符合您的要求,请告诉我,我没有完全理解用户名输入的部分?

提供了递归遍历文件夹树的示例代码。可以通过创建字典来处理扩展列表:

Set extensions = CreateObject("Scripting.Dictionary")
extensions.CompareMode = vbTextCompare  'case-insensitive
extensions.Add "doc", True
extensions.Add "docx", True
extensions.Add "pdf", True
extensions.Add "pst", True
...
然后检查已处理文件的扩展名,如下所示:

For Each f In fldr.Files
  If extensions.Exists(objFso.GetExtensionName(f.Name)) Then
    f.Copy targetFolder & "\"
  End If
Next
当目标是文件夹时,需要使用尾随的反斜杠,否则必须指定包含目标文件名的完整目标路径