批处理文件仅 Xcopy 特定文件

Posted

技术标签:

【中文标题】批处理文件仅 Xcopy 特定文件【英文标题】:Batch File Xcopy specific file only 【发布时间】:2021-10-04 04:58:44 【问题描述】:

想就创建简单的 bat 文件寻求帮助,该文件会将特定文件从源复制到目标。 例如。

Source = C:\Source
Dest = D:\Destination

源文件:

123.CSV
234.CSV
456.CSV
567.CSV
678.CSV
789.CSV
012.CSV

我只想复制ff:

123.CSV
456.CSV
678.CSV
012.CSV

复制后删除其他人。

脚本:

@ECHO OFF

CHCP 65001 > NUL


FOR /F "usebackq delims=" %%I IN ("G:\SOURCE\123.CSV") DO (
    xcopy /s "G:\SOURCE\123%%I" "G:\DESTINATION\%%I*"
)

PAUSE

提前感谢您的帮助

【问题讨论】:

您在使用 Microsoft 提供的用于复制文件的众多命令之一时遇到了哪些问题? Robocopy、Xcopy 和只是 Copy。要删除文件,请使用 DEL 命令。请拨打tour。请阅读How to Ask 一个好问题。然后提供minimal reproducible example 的代码,您尝试使用它来解决您的问题。 @Squashman 注意到我更新了上面的细节 您正在使用的FOR /F 命令读取文件的内容,并且对于它读取的每一行,它将该行的输出分配给FOR 元变量%%I。你为什么这样做?您没有提到使用文件作为要复制的文件的源。您也没有提到从子目录复制这些文件,XCOPY 代码正在这样做。 @Squashmanh hello 在上面的询问中提到:我只想复制 ff 文件:123.CSV 456.CSV 678.CSV 012.CSV 源文件夹:“G:\SOURCE\123%%I " 基本上我只想从源文件夹中复制 10 个 CSV 文件,但该文件夹有 100 个 Plus .CSV 文件。 那么是什么阻止了您使用 10 个XCOPY 命令进行简单的暴力破解? xcopy "G:\SOURCE\123.csv" "G:\DESTINATION\"。冲洗并重复。 【参考方案1】:

这很好用。 或者一个大而长的 ROBOCOPY 命令。 robocopy "G:\SOURCE" "G:\DESTINATION" "123.CSV" "456.CSV" "678.CSV" "012.CSV" – @squashman

【讨论】:

以上是关于批处理文件仅 Xcopy 特定文件的主要内容,如果未能解决你的问题,请参考以下文章

bat文件xcopy指令

使用 xcopy 确定新文件

xcopy 不是内部或外部命令、可运行程序或批处理文件

批处理文件 - 使用具有可变数量变量的 xcopy 循环?

批处理Xcopy----复制文件和目录

BAT批处理之文件与文件夹操作代码(附xcopy命令详解)