CMD命令复制特定扩展名的文件

8
所以我正在使用此命令从某个目录复制只有txt文件到另一个目录。
for /R c:\source %%f in (*.xml) do copy %%f x:\destination\

但它只复制文件名中没有空格的文本文件,因此它会复制test.txt但不会复制test 2.txt。我该如何使其复制带有空格的txt文件?

2个回答

17

在复制命令后面的变量周围添加引号:

for /R c:\source %%f in (*.xml) do copy "%%f" x:\destination\

2
可能值得解释的是,在您的答案中,需要在文件名中包含空格时加上引号。我盯着这个问题看了几秒钟,才注意到其中的区别。 - Joshua McKinnon
添加了关于引号的注释。谢谢。 - stepanian
1
对我来说,在 Windows 7 的 cmd 环境下,以下代码是可行的(只需使用单个百分号):for /R c:\source %f in (*.xml) do copy "%f" x:\destination\ - testpattern

3

有什么问题

copy c:\source\*.xml x:\destination\ >nul

[编辑] 哦,我明白了,你想递归地复制所有目录中的所有文件,但不想复制目录结构。那就算了吧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接