通过xcopy保存多个文件

问题描述 投票:0回答:5

我想通过xcopy一次复制多个文件。是否可以。我的意思是:
xcopy file1+file2+file3 目标文件夹
感谢任何帮助:)

command-line xcopy
5个回答
14
投票

我认为使用单个 xcopy 是不可能的,但您可以使用 for 语句。
比如:
对于 (file1, file2, filen) 中的 %f 执行 xcopy %f dest\


3
投票

对于 (file1,file2,file3) 中的 %f 执行 xcopy %f 目标文件夹


1
投票

如果您的文件以特定模式开头,您可以使用通配符(例如以 file 开头的文本文件)

copy file*.txt e:\destination

1
投票

我使用以下方法复制了数百个文件并按文件扩展名过滤它们。下面我说给我所有文件扩展名为 .dll、.exe 或 .pdf 的文件

for %f in (dll,exe,pdf) do xcopy /s /i C:\source\*.%f C:\destination

0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.