我有一个文件名列表,分布在共享网络驱动器上的多个目录中。我想编写一个脚本来搜索所有子目录中的特定文件名,然后将它们复制到本地PC上的目录中。我不想保持目录结构 - 我希望将任何目录中的所有文件复制到一个位置。
我一直在尝试此批处理文件的变体,但它不会复制任何内容:
set FILELIST=C:Directory\FileNames.txt
set FOLDERPATH=C:Directory\FolderPaths.txt
set DESTPATH=C:\Directory\Test
for /f %%X in (%FILELIST%) do call :COPY_FILES "%%X"
goto :eof
:COPY_FILES
for /r %FILESPATH% %%I in (%~1) do echo xcopy "%%I" "%DESTPATH%%%~pnxI"
pause
FileNames.txt文件仅包含名称和扩展名所需的所有文件(例如:Voicemail.wav)。 FolderPaths.txt包含文件名可能位于的所有可能的网络路径(例如\ Server \ Share \ Mail \ 00,\ Server \ Share \ Mail \ 01,\ Server \ Share \ Mail \ 02等)文本文件由换行符分隔。
感谢您提供任何建议。