barnaby_huang 2022-09-10 00:34 采纳率: 0%
浏览 32

bat脚本命令批量修改文件夹里子文件夹的文件位置

求bat脚本命令 批量修改文件夹里子文件夹的文件位置。

img

我有一个文件夹,里面有很多个子文件夹。

img

子文件夹中有些图片,psd文件和一个装有jpg格式文件的 名称为JPEG的文件夹。

我想让名称为JPEG文件夹 里的jpg格式图片文件 放到外面来,把外面的图片和psd格式的文件放到JPEG文件夹里面去。(意思就是交换位置。)
并把JPEG文件夹重命名为“original_photo”。

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-09-10 14:07
    关注

    把下面批处理保存到文件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
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 9月10日

悬赏问题

  • ¥20 求计算赫斯特(Hurst)指数
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大