[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何按指定要求批量重命名文件?

一文件夹里有如下文件名的文件:
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”其他文件名不变。这能做到吗???在线等

回复 1# WYXpclOK

token吧

TOP

回复 2# happy886rr


    ???

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3.   set str=%%~na
  4.   if not "!str:~20,1!"=="" echo ren "%%a" "!str:~0,20!%%~xa"
  5. )
  6. pause
复制代码
1

评分人数

    • CrLf: 犀利哥技术 + 1

TOP

回复 4# 522235677


    AAA-BBB-CC-DD-数字1-数字2  重命名为  AAA-BBB-CC-DD-数字1 删掉“-数字2”其他文件名不变

TOP

本帖最后由 happy886rr 于 2016-3-12 00:56 编辑

回复 5# WYXpclOK
这个你应该会的,token啊
  1. 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"))
复制代码

TOP

本帖最后由 pcl_test 于 2016-3-10 13:02 编辑

第三方
  1. ren2 -f "([^-]+-[^-]+-[^-]+-[^-]+-[^-]+)-[^-]+(\.[^\.]+)" "$1$2"
复制代码
1

评分人数

TOP

返回列表