【问题标题】:Search multiple files listed in a text file and copy to another directory搜索文本文件中列出的多个文件并复制到另一个目录
【发布时间】:2021-04-18 17:19:30
【问题描述】:

我需要找到 120 个图像文件,其中的名称已在文本文件中列出(每行一个文件名)。将在外部硬盘的所有子文件夹中进行搜索,并将所有文件复制到本地驱动器。

我认为这将是这个命令行的一个变体:

 FOR /F "delims=" %N in (C:\Users\me\Desktop\files.txt) do COPY "%N" C:\Users\me\Pictures\found

但是当我运行它时,我认为它只在给定目录中搜​​索,没有子目录。

我应该如何修改该命令?

【问题讨论】:

  • COPY "%N" C:\Users\me\Pictures\found 更改为不只是从当前目录复制文件的其他内容!
  • 我以为这个位定义了目标目录?
  • C:\Users\me\Pictures\found 定义了目标目录,是的,但是您没有遇到问题,您的问题是分配给%N 的源文件。变量%N 只是文件中的文件名,所以COPY 需要知道文件在哪里才能复制它,否则它只会在当前工作目录中查找。您想查看驱动器的每个目录/子目录,而不仅仅是当前工作目录,因此您需要修改方法以考虑到这一点。使用站点搜索查找使用递归目录树查找文件的示例。
  • 好的,谢谢。会调查的。
  • 因为我专门寻找图像,所以我使用 XN View 来寻找文件。不过,这不是我想要的批量搜索。

标签: windows search cmd command


【解决方案1】:

由于这是搜索图像,我使用 XnViewMP 并花时间让它梳理约 20gb 的图像,并复制相关图像。不理想,但完成了。

【讨论】:

    【解决方案2】:

    您的代码:

    FOR /F "delims=" %N in (C:\Users\me\Desktop\files.txt) do COPY "%N" C:\Users\me\Pictures\found
    

    仅使用“%N”,因此是当前文件夹中的文件名。如果你想在“文件夹树下”搜索它,你必须寻找它:

        FOR /F "delims=" %N in (C:\Users\me\Desktop\files.txt) do for /r %M in ("%N") do  COPY "%M" "C:\Users\me\Pictures\found\"
    

    为可能的重复做好准备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 2012-02-15
      相关资源
      最近更新 更多