首页 > 解决方案 > 复制与路径列表中名称匹配的文件并将它们粘贴到一个新文件夹中?

问题描述

我在 Windows 7 机器上工作,我正在尝试获取与文件路径列表中名称匹配的所有文件(我将列表保存为 csv、rda,如果需要,可以制作一个 txt 文件) . 即:列表如下所示:

Y:/iglgrelkgjkrle/originals/jsfhdjk.xls
Y:/iglgrelkgjkrddsle/ffhej/originals/jsfhdjk.xlsx
Y:/kssrldsse/ffhej/originals/jsfhdjk.xlt
Y:/blahblah/blah/blahhh/blahhhhhh/originals/blahahaha.pdf

……

基本上,我希望将此列表中的所有这些文件复制到不同位置的新文件夹中。谢谢!

标签: filecommand-linepathdirectory

解决方案


几乎任何问题都可以通过FORwindows 命令处理器中的语句来解决。使用for /f我们可以在文本文档中搜索列表,并且对于指定的每个项目(本例;位置),可以运行命令将其复制到新位置。

对于复制文件,xcopy将非常方便,因为它有许多我们可以使用的复制选项开关,例如/i /z /y.

  • /I - 如果有疑问,总是假设目的地是一个文件夹
  • /Z - 以可重新启动模式复制文件。如果复制在中途中断,它会尽可能重新启动。
  • /Y - 禁止提示以确认覆盖文件。(/-Y用于反向)

在下面的命令中,以下面C:\list.txt的为例。您可以在此处指定列表文件的位置。这可以支持多种文件格式,包括html. 尝试您的扩展程序并没有什么坏处。

对于输出复制文件的位置 -C:\CopyFolder也是您希望发送它们的文件夹位置的示例。您还可以通过 将它们发送到本地服务器\\server\folder\

从命令行:

for /f "delims=" %i in (C:\list.txt) do (xcopy "%i" "C:\CopyFolder" /i /z /y)

从批处理文件:

for /f "delims=" %%i in (C:\list.txt) do (xcopy "%%i" "C:\CopyFolder" /i /z /y)

如果这解决了您的问题,请不要忘记将此回复标记为已解决。我很乐意进一步解释任何问题!


推荐阅读