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

[文件操作] bat脚本如何批量将【文件名】中相似关键词替换成同一个关键词?

[复制链接]
发表于 2022-3-26 10:11:24 | 显示全部楼层 |阅读模式
本帖最后由 youxianwei 于 2022-3-30 10:56 编辑

大神求助:bat语言如何批量将【文件名】中相似关键词替换成同一个关键词?
【降低.txt,减少.xls,减弱.doc】→↘【↘.txt,↘.xls,↘.doc】
发表于 2022-3-26 11:48:41 | 显示全部楼层
回复 1# youxianwei
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for /f "delims=" %%i in ('dir /b /a-d *降低* *减少* *减弱* ^| findstr /v /x "%~nx0"') do (
  5.     set "OldName=%%i"
  6.     set NewName=!OldName:降低=↘!
  7.     set NewName=!NewName:减少=↘!
  8.     set NewName=!NewName:减弱=↘!
  9.     ren "!OldName!" "!NewName!"
  10. )
复制代码
 楼主| 发表于 2022-3-26 12:20:46 | 显示全部楼层
本帖最后由 youxianwei 于 2022-3-26 12:29 编辑

回复 2# Batcher


    感谢,请问能否有效率更高的循环方法???将来扩展关键词后,免得要输入那么多行*=↘,这段代码中每个关键词都输入两遍的话容易出错。。。
发表于 2022-3-26 12:56:58 | 显示全部楼层
回复 3# youxianwei
  1. @echo off
  2. set key=降低 减少 减弱
  3. setlocal enabledelayedexpansion
  4. cd /d "%~dp0"
  5. for /f "delims=" %%i in ('dir /b /a-d ^| findstr /i "%key%" ^| findstr /v /x "%~nx0"') do (
  6.     set "NewName=%%i"
  7.     for %%a in (%key%) do (
  8.         set NewName=!NewName:%%a=↘!
  9.     )
  10.     ren "%%i" "!NewName!"
  11. )
复制代码
 楼主| 发表于 2022-3-26 13:06:17 | 显示全部楼层
回复 4# Batcher


    感谢相助,我不是计算机专业的,才刚接触编程的菜鸟。。。。。。再次感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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