我想通过xcopy一次复制多个文件。是否可以。我的意思是:
xcopy file1+file2+file3 目标文件夹
感谢任何帮助:)
我认为使用单个 xcopy 是不可能的,但您可以使用 for 语句。
比如:
对于 (file1, file2, filen) 中的 %f 执行 xcopy %f dest\
对于 (file1,file2,file3) 中的 %f 执行 xcopy %f 目标文件夹
如果您的文件以特定模式开头,您可以使用通配符(例如以 file 开头的文本文件)
copy file*.txt e:\destination
我使用以下方法复制了数百个文件并按文件扩展名过滤它们。下面我说给我所有文件扩展名为 .dll、.exe 或 .pdf 的文件
for %f in (dll,exe,pdf) do xcopy /s /i C:\source\*.%f C:\destination
xcopy
只会将一个文件从源复制到目标,假设您知道要复制的文件并且知道目标:
xcopy .\bin\Debug\Application.exe .\Deploy
但是如果您仍然想使用通配符复制,则需要使用 for 循环枚举所有文件,然后告诉
xcopy
将其从源复制到目标。
例如:以下命令会将
.dll
和 .exe
从 .\bin\Debug
复制到 .\Deploy
for /r ".\bin\Debug" %%f in (*.dll, *.exe) do xcopy /y "%%f" ".\Deploy"
这里假设您的命令提示符位于目录
Test
中:
for
是 for each loop
/r
用于递归搜索文件夹和子文件夹.\bin\Debug
是当前文件夹所在的文件夹,用 .
表示 Test\bin\Debug
%%f
是带路径的文件名*.dll
& *.exe
代表文件夹中的所有exe & dll .\bin\Debug
do
代表动作xcopy
就是行动/y
就是对 xcopy
要求确认的提示说“是”"%%f"
是用引号引起来的文件路径,以减少空格,因为这是 xcopy
.\Deploy
是目标文件夹,如 Test\Deploy
更好的方法是使用
robocopy
as
robocopy "C:\Test\bin\Debug" "D:\Test\Deploy" *.dll