Batch file 如何使用批处理文件仅复制文件(而不是目录)?
目录结构为:Batch file 如何使用批处理文件仅复制文件(而不是目录)?,batch-file,cmd,robocopy,Batch File,Cmd,Robocopy,目录结构为: Images -Folder1 -image1.jpg -image2.jpg -Folder2 -image3.jpg -image4.png -Folder3 -image6.png -image7.jpg -Folder4 我只想将所有imagesi.e*.jpg、*.png文件复制到父目录Images中,而不想将文件夹复制到父目录Images中 我已尝试使用ro
Images
-Folder1
-image1.jpg
-image2.jpg
-Folder2
-image3.jpg
-image4.png
-Folder3
-image6.png
-image7.jpg
-Folder4
我只想将所有imagesi.e*.jpg、*.png文件复制到父目录Images中,而不想将文件夹复制到父目录Images中
我已尝试使用robocopy,如下所示:
robocopy /np ..\..\Exam\Images ..\..\Exam\Images *.jpg *.png /S
此处复制了所有文件和文件夹:。但我只需要复制文件。如何做到这一点
非常感谢 Robocopy只有/XD开关来排除目录,但它排除了整个目录。我会使用批处理文件来代替它 试试这个:
@echo off
setlocal
for /f %%a in ('dir *.jpg *.png /b /s /a-d') do (
copy %%a PathToImagesFolder
)
Robocopy只有/XD开关来排除目录,但它排除了整个目录。我会使用批处理文件来代替它 试试这个:
@echo off
setlocal
for /f %%a in ('dir *.jpg *.png /b /s /a-d') do (
copy %%a PathToImagesFolder
)
一个更简单的方法可能是
对于*.png,*.jpg中的/r%%p,请复制%%p destinationFolder。一种更简单的方法可能是
对于*.png,*.jpg中的/r%%p,请复制%%p destinationFolder。在命令行中尝试以下操作:
for /r "Images" %i in (*.jpg *.png) do copy "%~fi" "my\target folder"
对于巴赫脚本,%必须加倍%。在命令行中尝试以下操作:
for /r "Images" %i in (*.jpg *.png) do copy "%~fi" "my\target folder"
对于巴赫脚本,%必须加倍%。有一个名为Drop It的易于使用的程序。如果这是一项重复性任务,那么您可以使用该程序对文件进行排序|移动|复制到单个目录。希望这对您有所帮助有一个名为Drop It的易于使用的程序如果这是一项重复性任务,那么您可以使用该程序对文件进行排序|移动|复制到单个目录。希望这有帮助我认为拷贝或XCOPY最适合用于文件,而我更喜欢在处理文件夹时使用robocy 使用发布的示例尝试:调整路径以满足您的需要
@Echo off
For /f %%b In ('Dir C:\Exam\Images /b /s /a:d') Do (
Robocopy %%b C:\Exam\Images *.jpg *.png /xx /np
)
我认为COPY或XCOPY最适合用于文件,而在处理文件夹时我更喜欢robocy 使用发布的示例尝试:调整路径以满足您的需要
@Echo off
For /f %%b In ('Dir C:\Exam\Images /b /s /a:d') Do (
Robocopy %%b C:\Exam\Images *.jpg *.png /xx /np
)
非常感谢。成功了。我只是将其更改为我的特定要求,如下所示:对于/r..\Exam\Images%%f in.jpg,.png复制%%f..\Exam\Images您使用此选项时不使用通配符*?Opps!。不,我在本例中使用了通配符*I.e*.jpg,*.png。谢谢你指出这一点。非常感谢:。成功了。我只是将其更改为我的特定要求,如下所示:对于/r..\Exam\Images%%f in.jpg,.png复制%%f..\Exam\Images您使用此选项时不使用通配符*?Opps!。不,我在本例中使用了通配符*I.e*.jpg,*.png。谢谢你指出这一点。