复制文件到同一目录下的多个文件夹中

4

我有一个文件,叫做EXAMPLE.DBF。

这个文件的位置是C:\EXAMPLE.DBF

现在我想将这个文件复制到另一个位置上的多个文件夹中。 这些文件夹是带有日期的子目录,它们的名称为20140101-20141231,它们的位置在d:\bootd\hello\20140101 - 20141231中。 不仅如此,文件夹中已经存在一个名为EXAMPLE.DBF的文件...所以它会要求进行复制和替换。 我需要将c:\EXAMPLE复制并替换位于不同位置的365个文件夹(20140101-20141231)中的现有EXAMPLE.DBF。

如果有人能帮我解决这个问题,我将非常感激。

2个回答

4

直接从提示符中输入,

for /d %a in (d:\bootd\hello\2014*) do copy /y C:\EXAMPLE.DBF %a\

将C:\EXAMPLE.DBF复制到与模式2014*(即以2014开头)匹配的d:\bootd\hello\每个目录中,如果您希望这样做,则替换该子目录中的任何现有example.dbf。

为了消除每个文件复制时生成的1 file(s) copied消息,请在上述行末尾添加>nul


Magoo,你真的很酷!通过“append”,你是指脚本应该是这个样子的吗:for /d %a in (d:\bootd\hello\2014*) do copy /y C:\EXAMPLE.DBF %a\ >null - VicT
我尝试了一下,非常有希望...但无论我尝试什么,“EXAMPLE.DBF”都找不到。这绝对是路径正确。我错过了什么吗? - VicT
@ Magoo非常感谢你,Magoo...这真是一个节省时间的好方法...如果你有时间,我还有另一个问题,如果你能帮我解决:一旦我输入文件,我需要在所有日期子目录上运行可执行文件...我通常会通过以下命令来完成此操作:d:\bootd\hello\executables\example.exe /date 20140131问题在于,我只能一次在一个文件夹中执行这个可执行文件 - VicT
>nul 将任何输出重定向到“无处”(它是这样设计的)。但请注意,只有一个 l - 如果有两个,则会创建名为 null 的文件。关于扩展名的问题 - 这很容易,但与您最初的问题无关。SO 的目标是生成一个问题和答案数据库,因此您应该免费提出进一步的问题。 - Magoo
感谢@Magoo... http://stackoverflow.com/questions/30283066/how-do-you-run-an-executable-on-multiple-folders - VicT
如果源文件夹的名称中有空格,您可以像这样使用双引号来完成工作:FOR /d %A IN (D:\bootd\hello\2014*) DO xcopy /y "C:\Program Files\EXAMPLE.DBF" %a\ - ian0411

1

对于@Magoo的回答,只需添加一点小细节;

如果目标文件夹名称中有空格,请使用双引号,像这样: for /d %a in (d:\bootd\hello\2014*) do copy /y C:\EXAMPLE.DBF "%a\"

正如@ian0411指出的那样,如果源文件夹名称中有空格,请使用双引号,像这样: for /d %a in (d:\bootd\hello\2014*) do copy /y "C:\EXAMPLE.DBF" %a\


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