标题: [文件操作] 批处理把文件名改名遇到括号的问题 [打印本页]
作者: netdzb 时间: 2021-3-2 01:34 标题: 批处理把文件名改名遇到括号的问题
诸如这样的形式
abcgdgg(1).jpg
bhghh(2).jpg
文件夹下面有很多这样的文件名
如何批处理实现改名变成
abcgdgg1.jpg
bhghh2.jpg
作者: qixiaobin0715 时间: 2021-3-2 08:40
- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*.jpg) do (
- set "str=%%a"
- set "str=!str:)=!"
- set "str=!str:(=!"
- ren "%%a" "!str!"
- )
- pause
复制代码
上面代码运行后,会将所有括号都去掉。存在一定的局限性。
作者: netdzb 时间: 2021-3-2 09:02
回复 2# qixiaobin0715
下面的正则怎么实现啊?
诸如这样的形式
abcgdgg(1).jpg
bhghh(2).jpg
===>
abcgdgg1.jpg
bhghh2.jpg
这个怎么实现,我想半自动的模式把包含数字外面的括号去掉。
作者: qixiaobin0715 时间: 2021-3-2 09:49
需要用到第三方,这个没研究。
作者: netdzb 时间: 2021-3-2 10:09
回复 4# qixiaobin0715
ls *.jpg|grep '('
这是列出文件名,后面的改名怎么写?
作者: qixiaobin0715 时间: 2021-3-2 11:17
这个凑合能用:- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*.txt) do (
- set "str1=%%a"
- set "str2=%%~na"
- set "str2=!str2:)=!"
- set "str2=!str2:(=.!"
- for %%b in ("!str2!") do (
- set "str3=%%~xb"
- set "str3=!str3:~1!"
- for %%c in ("!str3!") do ren "%%a" "!str1:(%%~c)=%%~c!"
- )
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |