标题: [文本处理] 批处理如何按指定要求批量重命名文件? [打印本页]
作者: WYXpclOK 时间: 2016-3-10 09:36 标题: 批处理如何按指定要求批量重命名文件?
一文件夹里有如下文件名的文件:
2015-0102-AM-0807-01-01
2015-0102-AM-0807-02-02
2015-0102-AM-0807-03-01
2015-0102-AM-0807-05-10
2015-0102-AM-0807-07-01
2015-0102-AM-1020-01
2015-0102-AM-1020-02
2015-0102-AM-1020-03
2015-0102-AM-1020
2015-0102-AM-1020-1
2015-0102-PM-1320-01-05
2015-0102-PM-1320-02-07
2015-0102-PM-1320-03
批处理重命名后的文件是这样的:
2015-0102-AM-0807-01
2015-0102-AM-0807-02
2015-0102-AM-0807-03
2015-0102-AM-0807-05
2015-0102-AM-0807-07
2015-0102-AM-1020-01
2015-0102-AM-1020-02
2015-0102-AM-1020-03
2015-0102-AM-1020
2015-0102-AM-1020-1
2015-0102-PM-1320-01
2015-0102-PM-1320-02
2015-0102-PM-1320-03
简单来说就是将格式是:
AAA-BBB-CC-DD-数字1-数字2 重命名为 AAA-BBB-CC-DD-数字1 删掉“-数字2”其他文件名不变。这能做到吗???在线等
作者: happy886rr 时间: 2016-3-10 09:43
回复 1# WYXpclOK
token吧
作者: WYXpclOK 时间: 2016-3-10 09:46
回复 2# happy886rr
???
作者: 522235677 时间: 2016-3-10 11:58
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b *.txt') do (
- set str=%%~na
- if not "!str:~20,1!"=="" echo ren "%%a" "!str:~0,20!%%~xa"
- )
- pause
复制代码
作者: WYXpclOK 时间: 2016-3-10 12:30
回复 4# 522235677
AAA-BBB-CC-DD-数字1-数字2 重命名为 AAA-BBB-CC-DD-数字1 删掉“-数字2”其他文件名不变
作者: happy886rr 时间: 2016-3-10 12:32
本帖最后由 happy886rr 于 2016-3-12 00:56 编辑
回复 5# WYXpclOK
这个你应该会的,token啊- for /f "delims=" %%a in ('dir /b *.*^|findstr /i "\-[AP]M\-"') do (for /f "tokens=1-5 delims=-" %%A in ("%%~na") do (ren "%%a" "%%A-%%B-%%C-%%D-%%E%%~xa"))
复制代码
作者: pcl_test 时间: 2016-3-10 13:01
本帖最后由 pcl_test 于 2016-3-10 13:02 编辑
第三方- ren2 -f "([^-]+-[^-]+-[^-]+-[^-]+-[^-]+)-[^-]+(\.[^\.]+)" "$1$2"
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |