复制与路径列表中的名称匹配的文件并将其粘贴到一个新文件夹中?

时间:2018-08-16 15:23:24

标签: file command-line path directory

我正在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

... ...

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

1 个答案:

答案 0 :(得分:0)

几乎所有问题都可以通过Windows命令处理器中的FOR语句解决。使用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)

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