首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于定位具有特定扩展名的所有文件并将其复制到特定目标的VBS脚本

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

Stack Overflow用户
提问于 2013-07-26 02:19:31
回答 2查看 7.1K关注 0票数 0

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

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

我的主要问题是,检查从指定用户路径开始的文件夹和子文件夹的命令或命令链是什么,只检查具有这些扩展名的文件,我猜是复制它们,而不是一遍又一遍地复制相同的文件。如果这让人困惑,我很抱歉。

EN

回答 2

Stack Overflow用户

发布于 2013-07-26 15:34:04

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

代码语言:javascript
复制
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
...

然后检查处理后的文件的扩展名,如下所示:

代码语言:javascript
复制
For Each f In fldr.Files
  If extensions.Exists(objFso.GetExtensionName(f.Name)) Then
    f.Copy targetFolder & "\"
  End If
Next

当目标是文件夹时,尾随的反斜杠是必需的,否则您必须指定完整的目标路径,包括目标文件名。

票数 1
EN

Stack Overflow用户

发布于 2013-07-26 03:04:27

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

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

代码语言:javascript
复制
::XCOPY source [destination]
XCOPY "C:\Temp\*.doc" "C:\Temp\another"

这是做什么的?它使用一个XCOPY命令来复制C:\Temp目录中任何扩展名为.doc的文件。这些文件将被复制到名为C:\Temp\another的文件夹中。

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

http://support.microsoft.com/kb/240268

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

让我知道这是否符合您的要求,我没有完全理解关于用户名输入的内容?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17865788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档