写个bat批处理,整个目标文件夹内文件重排序列并遍历复制

文件夹结构一级文件夹:根下有固定文件夹7个,目标文件夹以春夏秋冬四个分别命名。源文件夹以4、5、6命名。二级文件夹:所有一级文件夹内包含n个二级文件夹。各内涵图片n张。第... 文件夹结构
一级文件夹:根下有固定文件夹7个,目标文件夹以春夏秋冬四个分别命名。源文件夹以4、5、6命名。
二级文件夹:所有一级文件夹内包含n个二级文件夹。各内涵图片n张。

第一个bat
所有一二级文件夹以10位数字命名。目标内二级文件夹可能同时存在于源三个文件夹内。要求匹配目标文件夹(春\夏\秋\冬)内的二级文件夹名称,将源文件夹(4\5\6)内名称一致的二级文件夹内所有图片,复制到源文件夹内。按4、5、6的先后顺序,重新命图片序列号。601、602、603...注意合并所有二级文件夹后,源图片命名可能出现一致,导致要求覆盖。实际图片内容是不同的,因此不能被覆盖。例:4二级内有图片401、402;5二级内有图片501、502;6二级内有图片401、601;复制到源二文件夹内后重命名为601(原401)、602(原402)、603(原501)、604(原502)、605(原6下401)、606(原601)。

第二个bat
根下有固定命名的650.jpg。要求遍历复制到指定目标内所有二级文件夹内。
比如指定到春。则春下所有二级文件夹根下复制一张650.jpg。
另附一个删除bat,可以指定目录删除其下指定名字的图片。比如春下所有二级文件夹内的650.jpg。
展开
 我来答
依梦琴瑶
高粉答主

2017-03-20 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部

00合成序列详情到指定目录.bat

@echo off & color 0a & title %~n0 By 依梦琴瑶
setlocal enabledelayedexpansion

for %%a in (春 夏 秋 冬) do (
    pushd %%a
        for /d %%b in (*) do (
            set Num=0
            for %%c in (40优化 50腿模 60详情) do (
                if exist "..\%%c\%%b" for /r %%d in ("..\%%c\%%b\*.jpg") do (
                    set /a Num+=1
                    if !Num! lss 10 (set Number=60!Num!) else (set Number=6!num!)
                    echo 正在拷贝“%%c∶%%~nxd”至“%%a∶%%b”目录中。。。
                    copy "%%~d" "%%b\!Number!.jpg" >nul
                )
            )
        )
    popd
)
echo 拷贝完毕,请按任意键退出。
pause>nul
exit


01复制650图片到指定目录.bat

@echo off & color 0a & title %~n0 By 依梦琴瑶
echo 请选择要拷贝的文件:
echo    1、649.jpg      2、650.jpg      3、全部
echo, & set /p Str=输入编号后回车 
set Sfile=649.jpg 650.jpg
if "%Str%"=="1" set Sfile=649.jpg
if "%Str%"=="2" set Sfile=650.jpg
if "%Str%"=="3" set Sfile=649.jpg 650.jpg


echo, & echo, & echo 请选择要处理的目录:
echo    1、春    2、夏    3、秋    4、冬    5、全部
echo, & set /p Sdir=输入编号后回车 
set Sfolder=春 夏 秋 冬
if "%Sdir%"=="1" set Sfolder=春
if "%Sdir%"=="2" set Sfolder=夏
if "%Sdir%"=="3" set Sfolder=秋
if "%Sdir%"=="4" set Sfolder=冬
if "%Sdir%"=="5" set Sfolder=春 夏 秋 冬

echo, & echo, & echo 正在把“%Sfile%”拷贝至“%Sfolder%”目录中的相关目录里。。。
for %%a in (%Sfolder%) do (
    pushd %%a
        for /d %%b in (*) do (
            for %%c in (%Sfile%) do (
                copy ..\%%c "%%b\"
            )
        )
    popd
)
echo, & echo 拷贝完毕,请按任意键退出。
pause>nul
exit


以上代码已根据你新的要求编写。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式