我在一台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
。 ...
基本上,我希望将此列表中的所有这些文件复制到不同位置的新文件夹中。谢谢!
几乎任何问题都可以通过 Windows 命令处理器中的FOR
语句来解决。使用for /f
我们可以搜索文本文档中的列表,并针对指定的每个项目(本例;位置(,可以运行命令将其复制到新位置。
对于复制文件,xcopy
将非常方便,因为它有许多我们可以使用的复制选项开关,例如/i /z /y
.
- /I- 如有疑问,请始终假定目标是文件夹
- /Z- 在可重新启动模式下复制文件。如果拷贝中途中断, 如果可能,它将重新启动。
-
/Y- 禁止提示以确认覆盖文件。(使用
/-Y
反转(
在下面的命令中,C:list.txt
用作示例。您可以在此处指定列表文件的位置。这可以支持多种文件格式,包括html
.尝试扩展并没有什么坏处。
对于输出复制文件的位置 -C:CopyFolder
也是您希望发送它们的文件夹位置的示例。您也可以通过\serverfolder
将它们发送到本地服务器。
从命令行:
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)
如果这解决了您的问题,请不要忘记将此回复标记为已解决。我很乐意进一步解释任何问题!