我正在创建一个项目,创建一个脚本,在工作中使用它来自动化我们的一个流程。
我想脚本检查用户名输入搜索指定的用户配置文件路径的任何文件的.doc,.docx,.pdf,.pst等。并按原样将它们复制到网络驱动器位置上创建的文件夹中。
我的主要问题是,检查从指定用户路径开始的文件夹和子文件夹的命令或命令链是什么,只检查具有这些扩展名的文件,我猜是复制它们,而不是一遍又一遍地复制相同的文件。如果这让人困惑,我很抱歉。
发布于 2013-07-26 15:34:04
This answer提供了递归遍历文件夹树的示例代码。可以通过创建字典来处理扩展名列表:
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当目标是文件夹时,尾随的反斜杠是必需的,否则您必须指定完整的目标路径,包括目标文件名。
发布于 2013-07-26 03:04:27
我想我已经理解了大部分需求,在windows中使用.BAT文件方法可以更容易地实现这一点。此批处理(.Bat)文件可以运行复制/删除等命令。
因此,创建一个名为test.bat的文件,并在该文件中添加以下脚本:
::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
要运行该文件,只需双击它,或者安排它在需要的时候运行。
让我知道这是否符合您的要求,我没有完全理解关于用户名输入的内容?
https://stackoverflow.com/questions/17865788
复制相似问题