如何在批处理文件中复制特定文件的目录

时间:2014-03-03 07:42:53

标签: windows shell batch-file

c:/--> folder1-->
      folder2->
           img001.png
           img002.jpg
           img003.png

我有一种文件夹结构。

我需要将此文件夹中的单个文件复制到目标文件夹。

source : "c:\folder1\folder2\imgoo1.png"
Destination:"D:\folder1\folder2\imgoo1.png"

需要输出:

D:/--> folder1-->
      folder2->
           img001.png

注意:我需要批处理文件格式

3 个答案:

答案 0 :(得分:0)

for %%f in (img001.png img002.jpg img003.png) do copy /b "c:\folder1\folder2\%%f" "d:\folder1\folder2\"

请注意,Windows中的目录分隔符为\,而不是//用作命令切换 - 上述案例中的/b表示“以二进制模式复制”。

请注意,您没有说明批次是否应检查目标目录是否存在或目标文件名是否已存在。

md "d:\folder1\folder2" 2>nul

将强制目标文件名存在(2>nul禁止“已存在”消息)

您可以在/y命令中添加额外的开关copy,以便在目标文件已存在的情况下强制覆盖。

您可以将>nul添加到copy命令以取消1 file copied消息。

答案 1 :(得分:0)

robocopy "c:\folder1\folder2" "d:\folder1\folder2" "img0001.jpg"

由于Windows XP中不包含robocopy,因此可以使用普通xcopy

来完成
xcopy "c:\folder1\folder2\img0001.jpg" "d:\folder1\folder2\"

答案 2 :(得分:0)

这将复制该文件。目标文件名不是必需的,但可以保留。

copy "c:\folder1\folder2\imgoo1.png" "D:\folder1\folder2\imgoo1.png"

这假定文件夹已存在。