Batch file CMD命令行:同时将文件复制到多个位置

Batch file CMD命令行:同时将文件复制到多个位置,batch-file,copy,xcopy,Batch File,Copy,Xcopy,我正在尝试使用CMD命令提示符,使用一行代码将文件从一个位置复制到多个位置。有没有办法使用COPY/XCOPY等来实现这一点?我无法使用此类型的命令获得此工作: COPY C:\test.txt C:\A1\ C:\A2\ 看起来这应该可以工作,但它给出了一个错误,即命令的语法不正确(copy)或参数数无效(xcopy) 非常感谢您的建议!我希望避免使用批处理文件,因为这需要实现。创建一个包含所有目标位置的批处理文件: @echo off Copy %1 targetPath1 Copy %1

我正在尝试使用CMD命令提示符,使用一行代码将文件从一个位置复制到多个位置。有没有办法使用COPY/XCOPY等来实现这一点?我无法使用此类型的命令获得此工作:

COPY C:\test.txt C:\A1\ C:\A2\
看起来这应该可以工作,但它给出了一个错误,即命令的语法不正确(copy)或参数数无效(xcopy)


非常感谢您的建议!我希望避免使用批处理文件,因为这需要实现。

创建一个包含所有目标位置的批处理文件:

@echo off
Copy %1 targetPath1
Copy %1 targetPath2
Copy %1 targetPath3
...
然后用源文件路径作为参数调用它


呼叫将为1行:-)。

是否仅一行代码?丑陋,但可能:

for %i in ("c:\A1","c:\my folder","c:\A2") do copy test.txt %i
(如果在批处理文件中使用它,请将每个
%i
替换为
%i

另一种替代方法--命令分隔符
&

copy "test.txt" "C:\A1\" & copy "test.txt" "C:\A2\"
或:


由于OP要求同时将文件复制到多个位置, 我想补充一下这个解决方案:

for %D in ("C:\A1\", "C:\A2\") do (start /B "Copy to %D" cmd /c "echo Copying file to %D... & copy your_file %D")

使用此选项将包分发到七个闪存驱动器…

而不是
copy test.txt%i
您应该声明
copy“test.txt”“%~i”
以避免路径包含空格和/或其他有毒字符时出现问题。。。
for %D in ("C:\A1\", "C:\A2\") do (start /B "Copy to %D" cmd /c "echo Copying file to %D... & copy your_file %D")