为什么无法找到文件进行复制

时间:2014-07-03 12:43:56

标签: windows batch-file cmd command-prompt

我正在编写一个批处理脚本,它将文件从文件夹复制到C:\ drive:

@ECHO ON
COPY C:\RANDOMFILES\Weekly Reprort_Hew*.xls C:\Weekly Reprort_Hew???????????.xls

RANDOMFILES文件夹中的文件名为:Weekly Reprort_Hew, 6-29-2014 10-30-00 PM-642.xls(日期和时间以及最后的数字将始终更改,因此我在脚本中复制的文件名中使用了*

当我运行批处理脚本时,我收到以下消息:

c:\RANDOMFILES>COPY C:\RANDOMFILES\Weekly Reprort_Hewlett*.xls C:\Weekly Reprort
_Hewlett???????????.xls
The system cannot find the file specified.

如何解决问题?

2 个答案:

答案 0 :(得分:1)

你需要双引号来处理空格等。仔细检查拼写。

@ECHO ON
COPY "C:\RANDOMFILES\Weekly Reprort_Hew*.xls" "C:\Weekly Reprort_Hew???????????.xls"

答案 1 :(得分:0)

不知道为什么它不起作用 - 它是隐藏的吗?也许是名字中的空格?

以下内容可行:

FOR %%I in (C:\RANDOMFILES\Weekly Reprort_Hew*.xls) DO COPY "%%I" C:\

目标文件名不是必需的;如果没有另行规定,只要目的地不同,它将保持不变。这可能就是普通COPY命令无法正常工作的原因。

此外:

  

"一个不太为人所知的事实是,只有当通配符没有出现在文件名末尾时,问号通配符才会匹配一个字符。 "来自http://www.thefriendlycoder.com/2011/11/24/batch-file-gotcha-question-mark-wildcard/