目录结构是:
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
这里复制了所有文件和文件夹:(。但我只需要复制文件。怎么做?
许多人提前感谢!
答案 0 :(得分:5)
在命令行上尝试:
for /r "Images" %i in (*.jpg *.png) do copy "%~fi" "my\target folder"
对于bach脚本,%
必须加倍%%
。
答案 1 :(得分: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
)
答案 2 :(得分:0)
Robocopy只有/ XD开关来排除目录,但它排除了整个目录。我会使用批处理文件来代替。
试试这个:
@echo off
setlocal
for /f %%a in ('dir *.jpg *.png /b /s /a-d') do (
copy %%a PathToImagesFolder
)
答案 3 :(得分:0)
更简单的方法可能是
for / r %% p in(* .png,* .jpg)do copy %% p destinationFolder。
答案 4 :(得分:0)
有一个易于使用的程序叫Drop-It如果这是一个重复的任务,那么你可以使用它来将文件排序|复制到一个目录。希望这有帮助