标题: [文件操作] bat脚本如何批量将【文件名】中相似关键词替换成同一个关键词? [打印本页]
作者: youxianwei 时间: 2022-3-26 10:11 标题: bat脚本如何批量将【文件名】中相似关键词替换成同一个关键词?
本帖最后由 youxianwei 于 2022-3-30 10:56 编辑
大神求助:bat语言如何批量将【文件名】中相似关键词替换成同一个关键词?
【降低.txt,减少.xls,减弱.doc】→↘【↘.txt,↘.xls,↘.doc】
作者: Batcher 时间: 2022-3-26 11:48
回复 1# youxianwei - @echo off
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /a-d *降低* *减少* *减弱* ^| findstr /v /x "%~nx0"') do (
- set "OldName=%%i"
- set NewName=!OldName:降低=↘!
- set NewName=!NewName:减少=↘!
- set NewName=!NewName:减弱=↘!
- ren "!OldName!" "!NewName!"
- )
复制代码
作者: youxianwei 时间: 2022-3-26 12:20
本帖最后由 youxianwei 于 2022-3-26 12:29 编辑
回复 2# Batcher
感谢,请问能否有效率更高的循环方法???将来扩展关键词后,免得要输入那么多行*=↘,这段代码中每个关键词都输入两遍的话容易出错。。。
作者: Batcher 时间: 2022-3-26 12:56
回复 3# youxianwei - @echo off
- set key=降低 减少 减弱
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /a-d ^| findstr /i "%key%" ^| findstr /v /x "%~nx0"') do (
- set "NewName=%%i"
- for %%a in (%key%) do (
- set NewName=!NewName:%%a=↘!
- )
- ren "%%i" "!NewName!"
- )
复制代码
作者: youxianwei 时间: 2022-3-26 13:06
回复 4# Batcher
感谢相助,我不是计算机专业的,才刚接触编程的菜鸟。。。。。。再次感谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |