如何自动使用大型 .txt 文件名或文件路径列表来定位文件并将其编译到一个文件夹中?

如何自动使用大型 .txt 文件名或文件路径列表来定位文件并将其编译到一个文件夹中?

我使用的是 Windows 7

我在 .txt 文档中有一个很长的文件名列表。

以下是一些文件名示例:22740A.pdf 23661 spec change.ai 23665B.cdr

此文档列表的当前位置分布在我的网络上的数百个文件夹中,跨越多个驱动器。

我想自动将此文档列表收集到一个目标文件夹中。我想复制一份,但不想移动原始文件。

我该如何做呢?

答案1

由于您有一个具有完整路径的文本文件:

set "des=C:\Your\Destination\Folder"

for /f "usebackq tokens=*" %%A in ("yourtextfile.txt") do (
    if exist "%%A" copy /y "%%A" "%des%\%%~nxA"
)

这将循环遍历文本文件的所有行,查看行中指定的文件是否存在,如果存在,它将把它复制到目标文件夹并保留其相同的名称和扩展名 ( %%~nxA)。如果文件已存在于目标文件夹中,它将在不提示的情况下覆盖它。如果您想避免这种情况并以某种方式重命名它,请告诉我,我们可以稍微调整一下。

参考:为了复制

答案2

使用 Robocopy 批处理文件来完成文件复制就可以了。

robocopy \\SOURCE_SERVER\c$\folder_location \\DESTINATION_SERVER\c$\folder_location

如何筛选文本文件以获取所需的文件位置是另一个问题。

相关内容