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

[文件操作] 批处理如何批量删除文件名某个字符后面的所有字符,不删后缀名?

[复制链接]
发表于 2021-12-23 01:55:57 | 显示全部楼层 |阅读模式
原始文件名如下:
报告2019(PDF扫描版)61521.rar
报告2020(PDF扫描版)35681.rar
报告2021(PDF扫描版)153690.rar

批量改为:
报告2019(PDF扫描版).rar
报告2020(PDF扫描版).rar
报告2021(PDF扫描版).rar

就是把(PDF扫描版)后面的数字删除,但保留后缀名。
需要注意的是,(PDF扫描版)中的括号,是中文括号(),不是英文括号()。

谢谢!
发表于 2021-12-23 06:37:16 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-12-23 11:59 编辑
  1. for /f "tokens=1* delims=)" %%i in ('dir /b /a-d *.rar') do ren "%%i)%%j" "%%i).rar"
复制代码
 楼主| 发表于 2021-12-23 11:59:47 | 显示全部楼层
回复 2# qixiaobin0715


    你好,我试了,把这个代码做成.bat文件,放在该目录里,点击bat文件没反应啊。
发表于 2021-12-23 12:03:57 | 显示全部楼层
忘了各引号,已修改。
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
 楼主| 发表于 2021-12-23 13:19:24 | 显示全部楼层
回复 4# qixiaobin0715


    非常感谢,试了,没问题。

就是我忘记说一点了。有的文件名有多个括号,比如说:

报告2021(上册)(PDF扫描版)153690.rar
要改为:
报告2021(上册)(PDF扫描版).rar

也就是说,希望把最后一个右括号)之后的字符(全都是数字)删除,但不删除括号符号,只删除后面的数字。
谢谢!
发表于 2021-12-23 20:42:11 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-12-23 22:33 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.rar') do (
  4.     set str1=%%~ni
  5.     set str1=!str1:)=) !
  6.     for %%j in (!str1!) do (
  7.         set str2=%%j
  8.         if "!str2:~-1!"==")" set str=!str!%%j
  9.     )
  10.     ren "%%i" "!str!%%~xi"
  11.     set str=
  12. )
  13. pause
复制代码
 楼主| 发表于 2021-12-23 21:48:59 | 显示全部楼层
qixiaobin0715 发表于 2021-12-23 20:42



    你好,执行这个代码,显示:存在一个重名文件,或是找不到文件。
发表于 2021-12-23 22:28:17 | 显示全部楼层
回复 7# nightbaby
代码已修改,确实存在问题。可以再试试
 楼主| 发表于 2021-12-23 22:30:50 | 显示全部楼层
回复 8# qixiaobin0715


    辛苦了。
这次提示“找不到文件”。。。
发表于 2021-12-23 22:33:11 | 显示全部楼层
回复 9# nightbaby
现在应当可以了

评分

参与人数 1技术 +1 收起 理由
nightbaby + 1 非常感谢

查看全部评分

 楼主| 发表于 2021-12-23 23:01:21 | 显示全部楼层
回复 10# qixiaobin0715


    完美!!!多谢了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 19:30 , Processed in 0.033898 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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