找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21372|回复: 2

[文件操作] 求助哥哥们给小弟编个批处理复制文件的,请进

[复制链接]
发表于 2020-9-4 05:43:15 | 显示全部楼层 |阅读模式
文件夹结构是这样的
文件夹“一年级”下面包含班级文件夹:“一班”,“二班”,“三班”......
班级文件夹"一班" 里面包含学生姓名文件夹,”小王“,”小李“,”小张“........
每个学生姓名文件夹下面是各科成绩文件:例如”小张“文件夹下:语文成绩.jpg,数学成绩.jpg,英语成绩.jpg........ 小李文件夹下:语文成绩.jpg,数学成绩.jpg,英语成绩.jpg........

需要在一班文件夹下,编写一个批处理,提取出所有学生文件夹下的英语成绩.jpg到一个新文件夹里,文件重命名为:小王英语成绩.jpg,小李英语成绩.jpg,小张英语成绩........

感谢给予帮助的大神们
发表于 2020-9-4 08:44:09 | 显示全部楼层
  1. @echo off
  2. set "JpgName=语文成绩.jpg"

  3. rem =================================
  4. set "src=%~dp0"
  5. cd /d "%src%"
  6. for /f "delims=" %%a in ('dir /ad/b') do (
  7.         rem get parentDir
  8.         set curDir=%%~dpa
  9.         call :GetParent "%%~dpa" parentDir
  10.         setlocal enableDelayedExpansion
  11.         pushd "%%~fa"
  12.         for /f "delims=" %%b in ('dir/a-d/s/b "%JpgName%"') do (
  13.                 call :GetParent "%%~dpb" lastDir
  14.                 robocopy "%%~dpb" "!curDir!!parentDir!%%~nb" "%%~nxb" >nul
  15.                 ren "!curDir!!parentDir!%%~nb\%%~nxb" "!lastDir!%%~nxb"
  16.         )
  17.         popd
  18.         endlocal
  19. )
  20. pause
  21. exit
  22. :GetParent
  23. set d=%~1
  24. for /f "delims=" %%i in ("%d:~,-1%") do set %2=%%~nxi

  25. exit /b
复制代码
 楼主| 发表于 2020-9-4 09:17:04 | 显示全部楼层
回复 2# yhcfsr


    太感谢了!!!对我这小白来说,可惜代码看不懂~
非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 05:13 , Processed in 0.016713 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表