Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows中使用通配符复制文件而不附加?_Windows_Command Line - Fatal编程技术网

如何在Windows中使用通配符复制文件而不附加?

如何在Windows中使用通配符复制文件而不附加?,windows,command-line,Windows,Command Line,我有一个excel文件,每天从供应商FTP站点下载。每天文件名都会更改以包含日期,供应商会在文件末尾附加“实际”或“估计” 示例: F_02262014_实际值.xlsx F_02262014_估计值.xlsx 等等 由于这些细微的更改,我使用通配符将文件复制到另一个目录中的一致名称 示例: 复制\Source\F_02262014*\Target\CurrentFile.xlsx 我的问题是,每当我在copy命令中使用通配符时,Windows都会假定我在一个文件中附加了多个文件。这会导致文件损

我有一个excel文件,每天从供应商FTP站点下载。每天文件名都会更改以包含日期,供应商会在文件末尾附加“实际”或“估计”

示例:
F_02262014_实际值.xlsx
F_02262014_估计值.xlsx
等等

由于这些细微的更改,我使用通配符将文件复制到另一个目录中的一致名称

示例:
复制\Source\F_02262014*\Target\CurrentFile.xlsx

我的问题是,每当我在copy命令中使用通配符时,Windows都会假定我在一个文件中附加了多个文件。这会导致文件损坏(由于某种原因删除了所有内容)


是否有一个或一系列命令可以将与文件模式匹配的第一个文件复制到所需的文件名?

您不能按照要求的方式修改复制命令的行为。请尝试以下操作,而不是执行通配符复制:

IF EXIST "\Source\F_02262014_actual.xlsx" (copy \Source\F_02262014_actual.xlsx \Target\CurrentFile.xlsx) ELSE (copy \Source\F_02262014_estimate.xlsx \Target\CurrentFile.xlsx)

写入以包含在批处理文件中。如果将从命令行执行此操作,请将所有
%%
替换为
%%

我无法重现您报告的问题

您的意思是源文件为空,还是目标文件为空

我要将
/b
开关添加到
复制

copy /B \Source\F_02262014* \Target\CurrentFile.xlsx

…为我工作

生成的文件没有数据,无法在excel中打开。当我说没有数据时,/B开关似乎起作用,我的意思是,当源代码为157K时,生成的文件大小为1K,当我在文本编辑器中打开时,它都是垃圾。它不会在excel中打开。B/B开关似乎起作用了
copy /B \Source\F_02262014* \Target\CurrentFile.xlsx