Batch file 批处理文件中的通配符和MOVE命令-通配符不可识别

Batch file 批处理文件中的通配符和MOVE命令-通配符不可识别,batch-file,syntax,wildcard,Batch File,Syntax,Wildcard,我有一个批处理文件,其中包含以下行: 移动d:\cdr\C0*%yyy%-%mm%-%dd%*.csv d:\cdrchive\%yyyy%%mm%\ 其中变量yyyy mm和dd表示给定日期的保留部分。当我运行此命令时,批处理文件会正确地解析变量,但我无法识别通配符*,因此我得到以下行: >移动d:\cdr\archive\C0*.2013-09-08*.csv d:\cdrchive\201309\ 存在重复的文件名,或者该文件无效 找不到 非常感谢您的帮助。一旦创建了目标文件夹,它就可以正

我有一个批处理文件,其中包含以下行:

移动d:\cdr\C0*%yyy%-%mm%-%dd%*.csv d:\cdrchive\%yyyy%%mm%\

其中变量yyyy mm和dd表示给定日期的保留部分。当我运行此命令时,批处理文件会正确地解析变量,但我无法识别通配符*,因此我得到以下行:

>移动d:\cdr\archive\C0*.2013-09-08*.csv d:\cdrchive\201309\
存在重复的文件名,或者该文件无效 找不到


非常感谢您的帮助。

一旦创建了目标文件夹,它就可以正常工作。请注意,您提供的错误消息表明filespec错误或文件夹错误。当它们正确时,您得到的错误消息如下所示。(在Windows 8中测试)


现在再试一次,但要使用诸如SET yyy=2010、SET mm=10、SET DD=01之类的方法,然后在move命令中使用变量代替日期。我有一种感觉,这是行不通的。它绝对会对正常变量起作用——没有必要测试它。但它可能不起作用的一个原因是,如果在循环中设置变量,并且不使用延迟扩展来使用循环中的变量。运行批处理文件后,目标目录是否存在,日期是否为?
d:\>move d:\cdr\C0*.2000-10-01*.csv d:\CDRArchive\200010\
Cannot move multiple files to a single file.

d:\>md d:\CDRArchive\200010\

d:\>move d:\cdr\C0*.2000-10-01*.csv d:\CDRArchive\200010\
d:\cdr\C0abc.2000-10-01.aaa.csv
d:\cdr\C0abc.2000-10-01.bbb.csv
d:\cdr\C0abc.2000-10-01.ccc.csv
        3 file(s) moved.