1

目录结构为:

  Images
    -Folder1
      -image1.jpg
      -image2.jpg
    -Folder2
      -image3.jpg
      -image4.png 
    -Folder3
      -image6.png
      -image7.jpg 
    -Folder4

我只想将所有图像(即*.jpg、*.png)文件(不是文件夹)复制到父目录(“图像”)中。

我尝试使用“robocopy”,如下所示:

robocopy /np ..\..\Exam\Images ..\..\Exam\Images *.jpg *.png /S

在这里复制所有文件和文件夹:(。但我只需要复制文件。怎么做?

非常感谢提前!

4

5 回答 5

6

在命令行上试试这个:

for /r "Images" %i in (*.jpg *.png) do copy "%~fi" "my\target folder"

对于 bach 脚本,% 必须加倍%%

于 2013-05-08T13:46:40.407 回答
1

我认为 COPY 或 XCOPY 最适合用于文件,而在处理文件夹时我更喜欢 Robocopy。

使用发布的示例尝试:(调整路径以满足您的需要。

    @Echo off
    For /f %%b In ('Dir C:\Exam\Images /b /s /a:d') Do (
       Robocopy %%b C:\Exam\Images *.jpg *.png /xx /np
    )
于 2013-05-08T22:54:09.977 回答
0

Robocopy 只有 /XD 开关来排除目录,但它排除了整个目录。我会使用批处理文件来代替。

尝试这个:

@echo off
setlocal

for /f %%a in ('dir *.jpg *.png /b /s /a-d') do (
   copy %%a PathToImagesFolder
)
于 2013-05-08T13:23:00.493 回答
0

一种更简单的方法可能是

for /r %%p in (*.png, *.jpg) 复制 %%p 目标文件夹。

于 2013-05-08T13:32:45.737 回答
0

有一个易于使用的程序称为 Drop-It 如果这是一项重复性任务,那么您可以使用它来排序|移动|将文件复制到单个目录。希望这可以帮助

于 2013-05-08T16:20:39.943 回答