我使用的是 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
如何筛选文本文件以获取所需的文件位置是另一个问题。