首页 > 解决方案 > 在每个子文件夹中批量创建一个文件夹并移动其中的所有 .jpg 文件

问题描述

我制作了这个批处理文件,它创建了一个名为 Pictures 的文件夹并将所有 .jpg 文件放入其中。

@echo off
md Pictures
for %%i in ("*.jpg") do (
 move /Y "%%i" "Pictures" )
end

反正有没有让脚本也遍历子目录?我想在根目录上运行批处理文件并使其适用于所有子文件夹。

标签: batch-filecmdsubdirectory

解决方案


根据您提供的答案,我建议您可以在单行中这样做:

@For /D %%G In (*) Do @"%__AppDir__%Robocopy.exe" "%%G" "%%G\Pictures" *.jpg /Mov >NUL 2>&1

作为替代方案,因为For /D可能不会拾取所有目录,(它会忽略具有隐藏和系统属性的目录)

@For /F "EOL=? Delims=" %%G In ('Dir /B /AD') Do @"%__AppDir__%Robocopy.exe" "%%G" "%%G\Pictures" *.jpg /Mov >NUL 2>&1

推荐阅读