Windows 将文本文件中与字符串匹配的文件从具有文件夹结构的多个子文件夹复制到另一个目标文件夹

Windows 将文本文件中与字符串匹配的文件从具有文件夹结构的多个子文件夹复制到另一个目标文件夹,windows,batch-file,xcopy,Windows,Batch File,Xcopy,我的文件夹结构中有很多图像文件,如下所示: /Foldername1 (hohe Auflösung)/PictureRANDOMNAME1-FB.jpg /Foldername1 (hohe Auflösung)/PictureRANDOMNAME2-FB.jpg [...] /Foldername2 (hohe Auflösung)/PictureRANDOMNAME1-SW.jpg /Foldername2 (hohe Auflösung)/PictureRANDOMNAME2-SW.jp

我的文件夹结构中有很多图像文件,如下所示:

/Foldername1 (hohe Auflösung)/PictureRANDOMNAME1-FB.jpg
/Foldername1 (hohe Auflösung)/PictureRANDOMNAME2-FB.jpg
[...]
/Foldername2 (hohe Auflösung)/PictureRANDOMNAME1-SW.jpg
/Foldername2 (hohe Auflösung)/PictureRANDOMNAME2-SW.jpg
[...]
/Foldername3 (hohe Auflösung)/PictureRANDOMNAME1-SP.jpg
/Foldername3 (hohe Auflösung)/PictureRANDOMNAME2-SP.jpg
[...]
PictureRANDOMNAME1, PictureRANDOMNAME3, [...]
现在我有了一个filelist.txt,其中包含一些图像文件,如下所示:

/Foldername1 (hohe Auflösung)/PictureRANDOMNAME1-FB.jpg
/Foldername1 (hohe Auflösung)/PictureRANDOMNAME2-FB.jpg
[...]
/Foldername2 (hohe Auflösung)/PictureRANDOMNAME1-SW.jpg
/Foldername2 (hohe Auflösung)/PictureRANDOMNAME2-SW.jpg
[...]
/Foldername3 (hohe Auflösung)/PictureRANDOMNAME1-SP.jpg
/Foldername3 (hohe Auflösung)/PictureRANDOMNAME2-SP.jpg
[...]
PictureRANDOMNAME1, PictureRANDOMNAME3, [...]
我想将与文本文件列表中的字符串匹配的所有图像从所有子文件夹复制到新的目标(不移动它们),同时保持文件夹结构

也许我需要一个批处理文件,我只需将它复制到主文件夹中,包含所有子文件夹,以及一个filelist.txt文件,然后执行它,获得相同的文件夹结构,但只包含另一个目标上的所需文件

这方面的特别之处可能是路径和UMLAUT中的空格

对不起,我的英语不好。我真的尽力了。也许一些母语为英语的人可以帮助编辑使其更容易理解

@echo off
setlocal
:: This copies the tree structure from sourcedir to destdir
xcopy /t /e sourcedir destdir
:: This reads the filenames and copies the required files
for /f "delims=" %%a in (filelist.txt) do (
 for %%b in (%%a) do xcopy /s /e sourcedir\%%b* destdir
)
%%a
从文件中获取行。由于每行都是逗号分隔的,
%%b
将对行中的每个名称执行
xcopy

如果愿意,可以在
xcopy
行的末尾添加
>nul
,以禁止报告

请注意,
/
表示winbatch中的开关-
\
是目录分隔符

此程序未经测试。我建议您先在一个小的虚拟子目录树上试用它,以验证它,然后再将其用于实时数据。

请注意,这不是免费的脚本/代码编写服务。如果您告诉我们到目前为止您尝试了什么(包括您已经使用的脚本/代码)以及您遇到了什么问题,那么我们可以尝试帮助您解决具体问题。你也应该阅读。