使用包含基本名称和通配符的列表文件在Windows中选择文件

时间:2014-07-11 14:47:52

标签: windows batch-file

我试图根据包含基本名称的列表文件中的一组基本名称从目录中选择(jpeg)文件的子集。

该目录包含数万个文件,名称如下:

1234_Inlet.jpg
5678-Upstream.jpg
12345_Outlet.jpg
67890-Downstream2.jpg
D0305_DownstreamFace.jpg
NBSheep6-UpstreamView2.jpg

也就是说,有各种各样的基本名称包含不同长度的字母数字字符,后面跟一个连字符或下划线,然后是更多的字符,后跟" .jpg"。

我将用于从此目录中选择文件子集的列表仅包含基本名称:

1234
5678
12345
67890
D0305
NBSheep6

有人能告诉我如何使用适当的循环和通配符构建批处理文件来选择和复制这些文件的子集并将它们写入新目录吗?

1 个答案:

答案 0 :(得分:1)

for /f "usebackq tokens=*" %%a in ("c:\somewhere\basefilenames.txt"
) do for %%b in ( _ - ) do (
    copy "c:\where\the\files\are\%%a%%b*.jpg" "c:\archived\files\folder"
)

对于每个基本名称(在指定的文件中)和分隔符,将匹配basename+separator*.jpg的文件复制到目标文件夹