Board logo

标题: [文件操作] 求助哥哥们给小弟编个批处理复制文件的,请进 [打印本页]

作者: supermantlm    时间: 2020-9-4 05:43     标题: 求助哥哥们给小弟编个批处理复制文件的,请进

文件夹结构是这样的
文件夹“一年级”下面包含班级文件夹:“一班”,“二班”,“三班”......
班级文件夹"一班" 里面包含学生姓名文件夹,”小王“,”小李“,”小张“........
每个学生姓名文件夹下面是各科成绩文件:例如”小张“文件夹下:语文成绩.jpg,数学成绩.jpg,英语成绩.jpg........ 小李文件夹下:语文成绩.jpg,数学成绩.jpg,英语成绩.jpg........

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

感谢给予帮助的大神们
作者: yhcfsr    时间: 2020-9-4 08:44

  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
复制代码

作者: supermantlm    时间: 2020-9-4 09:17

回复 2# yhcfsr


    太感谢了!!!对我这小白来说,可惜代码看不懂~
非常感谢





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2