0

我有一个包含由换行符分隔的文件名称的文本文件和一个包含许多子文件夹的文件夹,这些子文件夹将包含与文本文件中的名称匹配的文件。

我想从文本文件中选择文件名,这可以使用for循环来完成;并递归搜索文件夹中的文件名,如果找到该文件,则将其复制到其他位置。

任何人都可以阐明它吗?

谢谢,

4

2 回答 2

1
@echo off
for /f "usebackq delims=" %%a in ("file names.txt") do (
   for /f "delims=" %%b in (' dir "c:\folder\%%a" /b /s /a-d ') do (
      copy "%%b" "c:\new folder"
   )
)
于 2013-09-04T02:54:16.967 回答
0

非常容易(尽管您必须更具体一些,以便您可以调整代码以适应您的情况。

基本代码:

@echo off
for /f "usebackq tokens=*" %%a in ("file names.txt") do (
forfiles /p "C:\users\...[path to main file]" /s /m "%%a" /c "cmd /c copy @path "C:\users\...[target path]""

不确定上面的双引号是否会被填满,如果是这样,我们可以用 a calland替换enableextensions

告诉我这是否不起作用(因为它仅适用于 Win7)。因为还有很多其他方法可以做到这一点。

莫娜

于 2013-09-04T01:55:52.887 回答