求bat脚本命令 批量修改文件夹里子文件夹的文件位置。
我有一个文件夹,里面有很多个子文件夹。
子文件夹中有些图片,psd文件和一个装有jpg格式文件的 名称为JPEG的文件夹。
我想让名称为JPEG文件夹 里的jpg格式图片文件 放到外面来,把外面的图片和psd格式的文件放到JPEG文件夹里面去。(意思就是交换位置。)
并把JPEG文件夹重命名为“original_photo”。
求bat脚本命令 批量修改文件夹里子文件夹的文件位置。
我有一个文件夹,里面有很多个子文件夹。
子文件夹中有些图片,psd文件和一个装有jpg格式文件的 名称为JPEG的文件夹。
我想让名称为JPEG文件夹 里的jpg格式图片文件 放到外面来,把外面的图片和psd格式的文件放到JPEG文件夹里面去。(意思就是交换位置。)
并把JPEG文件夹重命名为“original_photo”。
把下面批处理保存到文件run.bat
,把这个文件拷贝到最上层父目录里,然后双击运行即可,它会递归遍历所有子目录按照你的要求移动文件
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
@REM Move *.psd to original_photo\*.psd
FOR /R "%~dp0" %%I IN (*.psd) DO (
FOR %%J IN ("%%~dpI.") DO SET "folder=%%~nxJ"
IF NOT "!folder!" == "original_photo" (
IF NOT EXIST "%%~dpIoriginal_photo" MKDIR "%%~dpIoriginal_photo"
ECHO Moving "%%I" to "%%~dpIoriginal_photo\%%~nxI" ...
MOVE "%%I" "%%~dpIoriginal_photo\%%~nxI" >NUL
)
)
@REM Move JPEG\*.jpg to *.jpg
FOR /R "%~dp0" %%I IN (*.jpg) DO (
FOR %%J IN ("%%~dpI.") DO SET "folder1=%%~nxJ"
FOR %%J IN ("%%~dpI.") DO SET "folder2=%%~dpJ"
IF "!folder1!" == "JPEG" (
ECHO Moving "%%I" to "!folder2!%%~nxI" ...
MOVE "%%I" "!folder2!%%~nxI" >NUL
)
DIR /B /S /A "%%~dpI" | FINDSTR .>NUL || RMDIR "%%~dpI"
)
ENDLOCAL