用于在多个目录中搜索特定文件名的脚本

时间:2015-06-15 18:34:35

标签: batch-file

我有一个文件名列表,分布在共享网络驱动器上的多个目录中。我想编写一个脚本来搜索所有子目录中的特定文件名,然后将它们复制到本地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等)文本文件由换行符分隔。

感谢您提供任何建议。

0 个答案:

没有答案