【发布时间】: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\"。冲洗并重复。
标签: batch-file batch-processing xcopy