[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】资料分类,批处理如何在文件名前加关键字?

本帖最后由 qd2024 于 2024-1-10 06:42 编辑

链接:https://pan.baidu.com/s/1N-mqE0Oea6jG3XFLY-CWKw?pwd=2zmo
提取码:2zmo
--来自百度网盘超级会员V10的分享

收集到一些资料(不限文件扩展名),想用批处理进行一下分类,

举例,当某个文件的文件名中包含关键字“化学”“九上”时,最就是这个文件的文件名前插入【化学9A】,原文件名不变。

第一学期、上学期、上册,对应字母A
第二学期、下学期、下册,对应字母B

如,2023-2024辽宁协作体九上期末化学含答案.pdf     调整后为【化学9A】 2023-2024辽宁协作体九上期末化学含答案.pdf



设想1:在批处理文件的前端有一段代码,然后在这段代码的下面空一行后,是关键字信息。

     
====代码部分=====

科目关键字:语文、数学、物理、化学、历史、政治、生物、地理、英语

年级关键字:一、二、三、四、五、六、七、八、九、1、2、3、4、5、6、7、8、9

册数关键字:年上,第一学期,上学期,上册=A    年下,第二学期,下学期,下册=B

当文件名中有“语文”“九”“年上”时,就在文件名前插入“【语文9A】”
当文件名中有“化学”“九”“第二学期”时,就在文件名前插入“【化学9B】”

其他不变

如,2023-2024辽宁实验中学九上期末语文测试卷.pdf     调整后为【语文9A】 2023-2024辽宁实验中学九上期末语文测试卷.pdf

科目、年级、册数关键字会有后期还会根据实际情况补充

注意:处理里,要忽略文件中大于9的数,这部分数一般都是年份,如果参与判断就都乱了,

谢谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 qd2024 于 2024-1-7 18:04 编辑

回复 2# 77七


    辛苦了 谢谢
如果文件名中 有“中考”    我想把插入的【科目·中考】   能再帮我调整一下吗  万分感谢

如,2023-2024辽宁协作体中考化学模拟测试.pdf     调整后为【化学·中考】2023-2024辽宁协作体中考化学模拟测试.pdf


另外能不能再帮我限定一下扩展名,只有指定的扩展名,才处理 如*.dcox  *.pdf   我之前没考虑全  把一些其他文件也处理


2023年12月沈阳和平区九上历史期末试卷+答案      这个文件不知道是什么原因   改成了   【历史9】2023年12月沈阳和平区九上历史期末试卷+答案    没有A

还想在【历史9A】后面插入当前的4位系统日期,插入后,  上面的例子就变成了     【化学·中考】【0107】2023-2024辽宁协作体中考化学模拟测试.pdf  
                                                                                                           【历史9】【0107】2023年12月沈阳和平区九上历史期末试卷+答案   
【0107】是1月7日
  
添麻烦了

TOP

回复 4# 77七


    好的  t3 中如果 加入 上或九上 逻辑上会不乱  我之前自己加一个 “上“ 但是代码没有判断出来

TOP

本帖最后由 qd2024 于 2024-1-8 23:50 编辑

回复 7# qixiaobin0715


    真的十分感谢  比我想得还要全面

TOP

本帖最后由 qd2024 于 2024-1-8 23:50 编辑

回复 2# 77七


①语文福利:说明+非连阅读·九下一模二模真题汇编.pdf     想处理为    【语文9B·一模二模】【0108】语文福利:说明+非连阅读·九下一模二模真题汇编.pdf
②语文福利:作文·一模二模作文真题汇编.pdf                 想处理为                   【语文9B·一模二模】【0108】语文福利:作文·一模二模作文真题汇编.pdf   
③语文题库:记叙文阅读·中考真题汇编专题01.pdf     【语文9B·中考】【0108】语文题库:记叙文阅读·中考真题汇编专题01.pdf

就是说  文件名中如果能转成9B就先提取9B   然后加一模 二模 三模 中考 (文件名中有几个就加几个)如①
          文件名中如果没有能转成9B的关键词  便加上9B·    变成  【语文9B·一模】【语文9B·一模二模】如② ③

先不考虑   高考  高考对应的是12B   但是和一模二模三模 会乱了 先忽略吧
set t6=中考 高考    在t6中改吧

下面是新文件 参考  谢谢
链接:https://pan.baidu.com/s/1hwbzjNZCCW8vuE5zrrn-Gg?pwd=uead
提取码:uead
--来自百度网盘超级会员V10的分享

代码有改 如果没有影响就在下面的基础上 帮我修改 谢谢
  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. cd /d "%~dp0"
  4. for /f %%i in ('powershell -c "Get-Date -uformat '%%m%%d'"') do (
  5. set "Today=%%i"
  6. )
  7. set t1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法
  8. set t2=一 二 三 四 五 六 七 八 九 1 2 3 4 5 6 7 8 9
  9. set /a 一=1,二=2,三=3,四=4,五=5,六=6,七=7,八=8,九=9
  10. set t3=第一学期 上学期 上册 上期 上
  11. set t4=第二学期 下学期 下册 下期 下
  12. set t6=中考 高考
  13. set t7=*.doc *.pdf
  14. rem 排除关键字
  15. set t5=期中考试 二零二四 二零二三 二零二三 二零二一 二零二零 二零一九 二零一八 二零一七 二零一六 二零一五 二零一四  二零一三 二零一二 二零一一 二零一零
  16. for /f "delims=" %%i in ('dir /b /a-d %t7% ^|findstr /rvbc:"【.*】【[0-9][0-9]*】"') do (
  17. set str=%%i
  18. set _str=%%i
  19. setlocal enabledelayedexpansion
  20. rem 排除关键字
  21. for /l %%l in (2000,1,2050) do (
  22. set "_str=!_str:%%l=!"
  23. )
  24. for /l %%l in (10,1,99) do (
  25. set "_str=!_str:%%l=!"
  26. )
  27. for %%a in (%t5%) do (
  28. set "_str=!_str:%%a=!"
  29. )
  30. for %%a in (%t1%) do (
  31. echo !_str!|find "%%a" 1>nul && set m1=%%a
  32. )
  33. for %%a in (%t6%) do (
  34. echo !_str!|find "%%a" 1>nul && (
  35. set m2=·
  36. set m3=%%a
  37. )
  38. )
  39. if not defined m2 (
  40. for %%a in (%t2%) do (
  41. echo !_str!|find "%%a" 1>nul && (
  42. if defined %%a (
  43. set m2=!%%a!
  44. ) else (
  45. set m2=%%a
  46. )
  47. )
  48. )
  49. )
  50. if not defined m3 (
  51. for %%a in (%t3%) do (
  52. echo !_str!|find "%%a" 1>nul && set m3=A
  53. )
  54. if not defined m3 (
  55. for %%a in (%t4%) do (
  56. echo !_str!|find "%%a" 1>nul && set m3=B
  57. )
  58. )
  59. )
  60. echo ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
  61. ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
  62. endlocal
  63. )
  64. pause
复制代码

TOP

本帖最后由 qd2024 于 2024-1-9 12:34 编辑

回复 10# 77七


    明白 辛苦

TOP

回复 15# qixiaobin0715


    感谢 我学习一下

TOP

返回列表