标题: [文本处理] 批处理如何将文件名中以指定字符分割的两部分字符串调换/交换? [打印本页]
作者: mm123321 时间: 2016-6-13 10:51 标题: 批处理如何将文件名中以指定字符分割的两部分字符串调换/交换?
本帖最后由 pcl_test 于 2016-6-17 14:20 编辑
如以下文件:
123——abc.flv
frgrg——u677i.txt
处理后为
abc——123.flv
u677i——frgrg.txt
作者: mm123321 时间: 2016-6-17 08:47
:):):):)
作者: GNU 时间: 2016-6-17 09:00
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1-3 delims=.—" %%i in ('dir /b /a-d "*——批处理之家.flv"') do (
- set PartA=%%i
- set PartB=%%j
- set PartC=%%k
- ren "!PartA!——!PartB!.!PartC!" "!PartB!——!PartA!.!PartC!"
- )
复制代码
作者: GNU 时间: 2016-6-17 09:02
- @echo off
- for /f "tokens=1-3 delims=.—" %%i in ('dir /b /a-d "*——批处理之家.flv"') do (
- ren "%%i——%%j.%%k" "%%j——%%i.%%k"
- )
复制代码
作者: mm123321 时间: 2016-6-17 09:23
回复 4# GNU
倘若后面不一定是 【批处理之家】 可能是别的 可以不手动修改吗?
作者: GNU 时间: 2016-6-17 09:32
回复 5# mm123321
把代码里面的——批处理之家删掉
作者: 小程936 时间: 2016-6-17 09:35
本帖最后由 小程936 于 2016-6-17 11:41 编辑
回复 5# mm123321 - for /f "tokens=1-3 delims=.—" %%i in ('dir /b /a-d') do (ren "%%i——%%j.%%k" "%%j——%%i.%%k")
复制代码
或者- for /f "tokens=1-3 delims=.—" %%1 in ('dir /b /a-d') do (ren "%%1——%%2.%%3" "%%2——%%1.%%3")
复制代码
--------------------------------------------欢迎点这儿的评分↓↓↓↓↓和置顶(TOP)
作者: mm123321 时间: 2016-6-17 09:55
回复 7# 小程936
大神膜拜 强强强!
作者: pcl_test 时间: 2016-6-17 14:24
本帖最后由 pcl_test 于 2016-6-17 14:26 编辑
第三方
ren2 -f "(.*)——(.*)(\..*)" "$2——$1$3"
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |