标题: [文件操作] 【已解决】资料分类,批处理如何在文件名前加关键字? [打印本页]
作者: qd2024 时间: 2024-1-6 08:06 标题: 【已解决】资料分类,批处理如何在文件名前加关键字?
本帖最后由 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的数,这部分数一般都是年份,如果参与判断就都乱了,
谢谢
作者: 77七 时间: 2024-1-6 15:58
- @echo off
- rem 批处理保存为ansi编码格式
- cd /d "%~dp0"
-
- set t1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法
- set t2=一 二 三 四 五 六 七 八 九 1 2 3 4 5 6 7 8 9
- set /a 一=1,二=2,三=3,四=4,五=5,六=6,七=7,八=8,九=9
- set t3=年上 第一学期 上学期 上册 上期
- set t4=年下 第二学期 下学期 下册 下期
-
- rem 排除关键字
- set t5=二零一九 二零二零
-
- for /f "delims=" %%i in ('dir /b /a-d ^|find /v "%~nx0"') do (
- set str=%%i
- set _str=%%i
- setlocal enabledelayedexpansion
- rem 排除关键字
- for /l %%l in (2000,1,2050) do (
- set "_str=!_str:%%l=!"
- )
- for /l %%l in (10,1,99) do (
- set "_str=!_str:%%l=!"
- )
- for %%a in (%t5%) do (
- set "_str=!_str:%%a=!"
- )
-
- for %%a in (%t1%) do (
- echo !_str!|find "%%a" 1>nul && set m1=%%a
- )
- for %%a in (%t2%) do (
- echo !_str!|find "%%a" 1>nul && (
- if defined %%a (
- set m2=!%%a!
- ) else (
- set m2=%%a
- )
- )
- )
- for %%a in (%t3%) do (
- echo !_str!|find "%%a" 1>nul && set m3=A
- )
- for %%a in (%t4%) do (
- echo !_str!|find "%%a" 1>nul && set m3=B
- )
- echo ren "!str!" "【!m1!!m2!!m3!】!str!"
- ren "!str!" "【!m1!!m2!!m3!】!str!"
- endlocal
- )
- pause
复制代码
作者: qd2024 时间: 2024-1-7 17:54
本帖最后由 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日
添麻烦了
作者: 77七 时间: 2024-1-7 19:31
t3中没有 上 或者 九上 关键词,需要自己添加
- @echo off
- rem 批处理保存为ansi编码格式
- cd /d "%~dp0"
- for /f %%i in ('powershell -c "Get-Date -uformat '%%m%%d'"') do (
- set "Today=%%i"
- )
-
- set t1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法
- set t2=一 二 三 四 五 六 七 八 九 1 2 3 4 5 6 7 8 9
- set /a 一=1,二=2,三=3,四=4,五=5,六=6,七=7,八=8,九=9
- set t3=年上 第一学期 上学期 上册 上期
- set t4=年下 第二学期 下学期 下册 下期
- set t6=中考 高考
- set t7=*.doc *.pdf
- rem 排除关键字
- set t5=二零一九 二零二零
-
- for /f "delims=" %%i in ('dir /b /a-d %t7% ^|findstr /rvbc:"【.*】【[0-9][0-9]*】"') do (
- set str=%%i
- set _str=%%i
- setlocal enabledelayedexpansion
- rem 排除关键字
- for /l %%l in (2000,1,2050) do (
- set "_str=!_str:%%l=!"
- )
- for /l %%l in (10,1,99) do (
- set "_str=!_str:%%l=!"
- )
- for %%a in (%t5%) do (
- set "_str=!_str:%%a=!"
- )
-
- for %%a in (%t1%) do (
- echo !_str!|find "%%a" 1>nul && set m1=%%a
- )
- for %%a in (%t6%) do (
- echo !_str!|find "%%a" 1>nul && (
- set m2=·
- set m3=%%a
- )
- )
- if not defined m2 (
- for %%a in (%t2%) do (
- echo !_str!|find "%%a" 1>nul && (
- if defined %%a (
- set m2=!%%a!
- ) else (
- set m2=%%a
- )
- )
- )
- )
- if not defined m3 (
- for %%a in (%t3%) do (
- echo !_str!|find "%%a" 1>nul && set m3=A
- )
- if not defined m3 (
- for %%a in (%t4%) do (
- echo !_str!|find "%%a" 1>nul && set m3=B
- )
- )
- )
- echo ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
- ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
- endlocal
- )
- pause
复制代码
作者: qd2024 时间: 2024-1-7 19:41
回复 4# 77七
好的 t3 中如果 加入 上或九上 逻辑上会不乱 我之前自己加一个 “上“ 但是代码没有判断出来
作者: qixiaobin0715 时间: 2024-1-8 10:11
本帖最后由 qixiaobin0715 于 2024-1-8 11:11 编辑
回复 5# qd2024
关键词最好不存在干扰项,如果你把“上”作为关键词,有些文件可能会产生判断上的混乱,比如文件名中含有“上海,上饶,上虞...”等。
关于关键词的选取应当遵循以下原则:
1.所有关键词不要有包含关系,可以存在“上学期”和“上期”,而不能存在“上”和“上期”;
2.在文件名中也不能存在两个关键词,比如文件名为“2023-2024上海实验中学九下期末语文测试卷.pdf ”,不能取“上”“下”作为关键词;在这里年级关键词可取“一年”“一上”...“九年”“九上”等,册数关键词可取“上学期”“上期”“第一学期”等,选取关键词尽量与其它字符区别开,保证关键词能够匹配准确的信息;
3.观察你提供的文件,相连无关数字个数均为2位或4位,屏蔽无关数字产生的干扰时,可以根据2楼去除01、02、03...09以及10——99这些数字。
作者: qixiaobin0715 时间: 2024-1-8 16:10
本帖最后由 qixiaobin0715 于 2024-1-8 16:50 编辑
代码说明:
1.所谓“关键词”的选取原则。将所有关键词设置在一个变量中,之间用空格分开。如果在前缀中某关键词保持不变,则在变量中原样照抄,如“语文 数学”等;关键词与前缀只是有关联,则以“关键词-关联字符”的形式写在变量中;关键词跨2个区域,如“九上”涉及年级和册数,则按照关联字符的固有顺序分隔符后面加上2个关联字符;如果已存在2个关联字符,则不应在后面重复设置关联字符,比如要处理的文件名有“2023-2024辽宁协作体九上期末化学含答案.pdf”,已存在“九上-9A”,就不再设置文件名中存在的“上期”作为关键词(“上期-A”),否则前缀会出现重复现象(化学9AA);关键词变量要按照前缀顺序排列,先科目,再年级,最后册数;
2.未看到楼主1-9数字作为关键词的样本,所以关键词未做涉及;
3.从楼主提供的样本来看,数字干扰项为2位或4位,代码中11、12行也进行了处理。
4.下面代码关键字只是列出了样本中涉及的情况,为了清楚起见稍作扩展,楼主可按照上面的说明的规则自行添加。
5.代码只是显示了修改后的文件名,未做重命名操作,如果显示无误,可修改代码第26行echo,[!str2!]%%i,修改为“ren "%%i" "[!str2!]%%i"”即可。- @echo off
- set ConWords=各学科 语文 数学 物理 化学 历史 英语 道法 一上-1A 九上-9A 一下-1B 九下-9B 一年-1 九年-9 上学期-A 第一学期-A 下学期-B
- for /f "delims=" %%i in ('dir /b /a-d') do (
- set str1=%%i
- setlocal enabledelayedexpansion
- for %%j in (00 01 02 03 04 05 06 07 08 09) do set str1=!str1:%%j=!
- for /l %%j in (10,1,99) do set str1=!str1:%%j=!
- for %%j in (%ConWords%) do (
- for /f "tokens=1,2 delims=-" %%a in ("%%j") do (
- if not "!str1!"=="!str1:%%a=!" (
- if "%%b"=="" (
- set str2=!str2!%%a
- ) else (
- set str2=!str2!%%b
- )
- )
- )
- )
- if defined str2 echo,[!str2!]%%i
- endlocal
- )
- pause
复制代码
如果关键词过多,可以按照代码中关键词变量的规则把它们写入一个文本文件中,便于增减,文本文件中一个关键词一行,顺序同上,即:先科目,再年级,最后册数。只不过要修改一下代码第8行,读入文本即可。
作者: qd2024 时间: 2024-1-8 22:33
本帖最后由 qd2024 于 2024-1-8 23:50 编辑
回复 7# qixiaobin0715
真的十分感谢 比我想得还要全面
作者: qd2024 时间: 2024-1-8 23:29
本帖最后由 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的分享
代码有改 如果没有影响就在下面的基础上 帮我修改 谢谢- @echo off
- rem 批处理保存为ansi编码格式
- cd /d "%~dp0"
- for /f %%i in ('powershell -c "Get-Date -uformat '%%m%%d'"') do (
- set "Today=%%i"
- )
-
- set t1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法
- set t2=一 二 三 四 五 六 七 八 九 1 2 3 4 5 6 7 8 9
- set /a 一=1,二=2,三=3,四=4,五=5,六=6,七=7,八=8,九=9
- set t3=第一学期 上学期 上册 上期 上
- set t4=第二学期 下学期 下册 下期 下
- set t6=中考 高考
- set t7=*.doc *.pdf
- rem 排除关键字
- set t5=期中考试 二零二四 二零二三 二零二三 二零二一 二零二零 二零一九 二零一八 二零一七 二零一六 二零一五 二零一四 二零一三 二零一二 二零一一 二零一零
-
- for /f "delims=" %%i in ('dir /b /a-d %t7% ^|findstr /rvbc:"【.*】【[0-9][0-9]*】"') do (
- set str=%%i
- set _str=%%i
- setlocal enabledelayedexpansion
- rem 排除关键字
- for /l %%l in (2000,1,2050) do (
- set "_str=!_str:%%l=!"
- )
- for /l %%l in (10,1,99) do (
- set "_str=!_str:%%l=!"
- )
- for %%a in (%t5%) do (
- set "_str=!_str:%%a=!"
- )
-
- for %%a in (%t1%) do (
- echo !_str!|find "%%a" 1>nul && set m1=%%a
- )
- for %%a in (%t6%) do (
- echo !_str!|find "%%a" 1>nul && (
- set m2=·
- set m3=%%a
- )
- )
- if not defined m2 (
- for %%a in (%t2%) do (
- echo !_str!|find "%%a" 1>nul && (
- if defined %%a (
- set m2=!%%a!
- ) else (
- set m2=%%a
- )
- )
- )
- )
- if not defined m3 (
- for %%a in (%t3%) do (
- echo !_str!|find "%%a" 1>nul && set m3=A
- )
- if not defined m3 (
- for %%a in (%t4%) do (
- echo !_str!|find "%%a" 1>nul && set m3=B
- )
- )
- )
- echo ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
- ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
- endlocal
- )
- pause
复制代码
作者: 77七 时间: 2024-1-9 11:49
回复 9# qd2024
上 和 下 单独作为关键词,可能需要排除一些,不如直接列举一下 七上...
- @echo off
- rem 批处理保存为ansi编码格式
- cd /d "%~dp0"
- for /f %%i in ('powershell -c "Get-Date -uformat '%%m%%d'"') do (
- set "Today=%%i"
- )
-
- set t1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法
- set t2=一 二 三 四 五 六 七 八 九 1 2 3 4 5 6 7 8 9
- set /a 一=1,二=2,三=3,四=4,五=5,六=6,七=7,八=8,九=9
- set t3=第一学期 上学期 上册 上期 七上 八上 九上
- set t4=第二学期 下学期 下册 下期 七下 八下 九下
- set t6=中考 一模 二模 三模
- set t7=*.doc *.pdf
- rem 排除关键字
- set t5=期中考试 二零二四 二零二三 二零二三 二零二一 二零二零 二零一九 二零一八 二零一七 二零一六 二零一五 二零一四 二零一三 二零一二 二零一一 二零一零 01 02 03 04 05 06 07 08 09
-
- for /f "delims=" %%i in ('dir /b /a-d %t7% ^|findstr /rvbc:"【.*】【[0-9][0-9]*】"') do (
- set str=%%i
- set _str=%%i
- setlocal enabledelayedexpansion
- rem 排除关键字
- for /l %%l in (2000,1,2050) do (
- set "_str=!_str:%%l=!"
- )
- for /l %%l in (10,1,99) do (
- set "_str=!_str:%%l=!"
- )
- for %%a in (%t5%) do (
- set "_str=!_str:%%a=!"
- )
-
- for %%a in (%t1%) do (
- echo !_str!|find "%%a" 1>nul && set m1=%%a
- )
- for %%a in (%t6%) do (
- echo !_str!|find "%%a" 1>nul && (
- set m2=9B·
- set m3=!m3!%%a
- )
- )
- if not defined m2 (
- for %%a in (%t2%) do (
- echo !_str!|find "%%a" 1>nul && (
- if defined %%a (
- set m2=!%%a!
- ) else (
- set m2=%%a
- )
- )
- )
- )
- if not defined m3 (
- for %%a in (%t3%) do (
- echo !_str!|find "%%a" 1>nul && set m3=A
- )
- if not defined m3 (
- for %%a in (%t4%) do (
- echo !_str!|find "%%a" 1>nul && set m3=B
- )
- )
- )
- echo ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
- ren "!str!" "【!m1!!m2!!m3!】【%Today%】!str!"
- endlocal
- )
- pause
复制代码
作者: qd2024 时间: 2024-1-9 12:32
本帖最后由 qd2024 于 2024-1-9 12:34 编辑
回复 10# 77七
明白 辛苦
作者: aloha20200628 时间: 2024-1-9 13:16
本帖最后由 aloha20200628 于 2024-1-9 13:18 编辑
本帖也许可以进一步简化》
假设楼主规定的前缀命名结构式如 【科目+年级+学期+...】,
据此构建一个提取词链表,和一个替换词链表(其中源词与替换词用/分割),两个链表中各项的顺序须满足命名结构式的顺序。
用上述方法或规则,楼主可以自己增减两个链表中的项目,但要确保其顺序和命名结构式中的顺序一致。
代码如下存为test.bat
当前版是测试检查版,用来检查更名结果是否正确;删除第14行再将原15行开头的REM删除即成真实更名版。- @echo off &setlocal enabledelayedexpansion
- ::构建提取词链表
- set "提取词=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法"
- ::构建替换词链表
- set "替换词=一年/1 二年/2 三年/3 四年/4 五年/5 六年/6 七年/7 八年/8 九年/9 上学期/A 下学期/B ^
- 一上/1A 二上/2A 三上/3A 四上/4A 五上/5A 六上/6A 七上/7A 八上/8A 九上/9A ^
- 一下/1B 二下/2B 三下/3B 四下/4B 五下/5B 六下/6B 七下/7B 八下/8B 九下/9B"
- set "day=【%date:*-=%】"
- for /f "delims=" %%F in ('dir /b/s/a-d *.pdf *.doc*') do (
- set "nF=%%~nF" &set "new=【"
- for %%w in (!提取词! !替换词!) do for /f "tokens=1-2 delims=/" %%1 in ("%%~w") do (
- if "!nF:%%1=!" neq "!nF!" (if "%%2"=="" (set "new=!new!%%1") else (set "new=!new!%%2"))
- )
- echo,"!new!】!day!%%~nxF"
- REM ren "%%~F" "!new!】!day!%%~nxF"
- )
- endlocal &pause &exit/b
复制代码
作者: aloha20200628 时间: 2024-1-9 13:29
回复 9# qd2024
看到楼主调整了命名结构式,其实可以分拆提取词链表为多个即可,修正代码如下- @echo off &setlocal enabledelayedexpansion
- ::构建前置提取词链表
- set "提取词1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法"
- ::构建替换词链表
- set "替换词=一年/1 二年/2 三年/3 四年/4 五年/5 六年/6 七年/7 八年/8 九年/9 上学期/A 下学期/B ^
- 一上/1A 二上/2A 三上/3A 四上/4A 五上/5A 六上/6A 七上/7A 八上/8A 九上/9A ^
- 一下/1B 二下/2B 三下/3B 四下/4B 五下/5B 六下/6B 七下/7B 八下/8B 九下/9B"
- ::构建后置提取词链表
- set "提取词2=一模 二模 三模 中考"
- set "day=【%date:*-=%】"
- for /f "delims=" %%F in ('dir /b/s/a-d *.pdf *.doc*') do (
- set "nF=%%~nF" &set "new=【"
- for %%w in (!提取词1! !替换词! !提取词2!) do for /f "tokens=1-2 delims=/" %%1 in ("%%~w") do (
- if "!nF:%%1=!" neq "!nF!" (if "%%2"=="" (set "new=!new!%%1") else (set "new=!new!%%2"))
- )
- echo,"!new!】!day!%%~nxF"
- REM ren "%%~F" "!new!】!day!%%~nxF"
- )
- endlocal &pause &exit/b
复制代码
作者: aloha20200628 时间: 2024-1-9 13:50
替换词链表用续行连接符^有问题,故须订正代码如下- @echo off &setlocal enabledelayedexpansion
- ::构建前置提取词链表
- set "提取词1=语文 数学 物理 化学 历史 政治 生物 地理 英语 道法"
- ::构建替换词链表
- set "替换词=一年/1 二年/2 三年/3 四年/4 五年/5 六年/6 七年/7 八年/8 九年/9 上学期/A 下学期/B 一上/1A 二上/2A 三上/3A 四上/4A 五上/5A 六上/6A 七上/7A 八上/8A 九上/9A 一下/1B 二下/2B 三下/3B 四下/4B 五下/5B 六下/6B 七下/7B 八下/8B 九下/9B"
- ::构建后置提取词链表
- set "提取词2=一模 二模 三模 中考 高考"
- set "day=【%date:*-=%】"
- for /f "delims=" %%F in ('dir /b/s/a-d *.pdf *.doc*') do (
- set "nF=%%~nF" &set "new=【"
- for %%w in (!提取词1! !替换词! !提取词2!) do for /f "tokens=1-2 delims=/" %%1 in ("%%~w") do (
- if "!nF:%%1=!" neq "!nF!" (if "%%2"=="" (set "new=!new!%%1") else (set "new=!new!%%2"))
- )
- echo,"!new!】!day!%%~nxF"
- REM ren "%%~F" "!new!】!day!%%~nxF"
- )
- endlocal &pause &exit/b
复制代码
作者: qixiaobin0715 时间: 2024-1-9 15:46
本帖最后由 qixiaobin0715 于 2024-1-9 16:08 编辑
回复 9# qd2024
将关键词分为3类:
1.科目为第1类,由于变动不大,设置为变量即可;
set ConWords1=各学科 语文 数学 物理 化学 历史 英语 道法
2.中考和高考之类的为第2类,由于你不考虑高考,这里以中考为例,也设置为变量;如果中考高考综合考虑的话,需要在文件名中进行区分,即要含有高考或中考的词汇,代码也需要做相应的调整;
set ConWords2=中考 一模 二模 三模
3.年级和册数为第3类,由于其关键词数量多,变动大,并且考虑到之后还要进行增加新的词汇,可以考虑将其放在文本(比如文本ConWords.txt)中,具体形式及要求详见7楼中的说明;
ConWords.txt内容示范如下,可根据实际情况自己增减。文本中的说明文字可保留,不会影响代码运行结果。- 关键词既关联年级又关联册数的信息,类似下面的形式。
- 一上-1A
- 九上-9A
- 一下-1B
- 九下-9B
-
- 关键词只关联年级或者只关联册数的信息,类似下面的形式。
- 1-1
- 2-2
- 9-9
-
- 一年-1
- 九年-9
-
- 上学期-A
- 第一学期-A
- 下学期-B
复制代码
代码test.bat- @echo off
- set ConWords1=各学科 语文 数学 物理 化学 历史 英语 道法
- set ConWords2=中考 一模 二模 三模
- for /f "delims=" %%i in ('dir /b /a-d') do (
- setlocal enabledelayedexpansion
- for %%j in (%ConWords2%) do (
- set str=%%i
- set str=!str:%%j=!
- if not "!str!"=="%%i" set str2=!str2!%%j
- )
- for %%j in (%ConWords1%) do (
- set str=%%i
- set str=!str:%%j=!
- if not "!str!"=="%%i" set str1=%%j
- )
- if defined str2 (
- set str1=!str1!9B
- ) else (
- set str=%%i
- for %%j in (期中考试 00 01 02 03 04 05 06 07 08 09) do set str=!str:%%j=!
- for /l %%j in (10,1,99) do set str=!str:%%j=!
- for /f "tokens=1,2 delims=-" %%a in (ConWords.txt) do (
- if not "!str!"=="!str:%%a=!" (
- set str1=!str1!%%b
- )
- )
- )
- if defined str2 (
- set FileNamePre=[!str1!.!str2!]
- ) else (
- if defined str1 set FileNamePre=[!str1!]
- )
- if defined FileNamePre echo,!FileNamePre!%%i
- endlocal
- )
- pause
复制代码
作者: qd2024 时间: 2024-1-10 06:29
回复 15# qixiaobin0715
感谢 我学习一下
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |