Board logo

标题: [文本处理] 求助BAT截取最后面几位并重新命名,扩展名不变 [打印本页]

作者: twm581025    时间: 2018-11-2 11:06     标题: 求助BAT截取最后面几位并重新命名,扩展名不变

一个文件夹下面有一些文件如
李健^旦增尼玛^Tiger^康树龙-沧海轻舟(中国好声音2018)-国语-1081335.mpg
康树龙^旦增尼玛-野花(中国好声音2018)-国语-1077410.mpg
康树龙^旦增尼玛-野花(中国好声音2018)-国语-21077410.mpg
......
现在想要把这些文件变成
1081335.mpg
1077410.mpg
21077410.mpg
....
只要最后的数字(文件前面的符号格式不会变),数字位数有的是7位,有的是8位
哪位大神帮帮忙谢谢啦
作者: ccwan    时间: 2018-11-2 11:35

  1. @for /f "tokens=1-4 delims=-" %%a in ('dir /b *.mpg') do ren %%a-%%b-%%c-%%d %%d
复制代码

作者: twm581025    时间: 2018-11-2 11:46

回复 2# ccwan

谢谢大神 可以了
作者: yhcfsr    时间: 2018-11-2 13:05

本帖最后由 yhcfsr 于 2018-11-2 13:06 编辑

回复 3# twm581025


    可以的话,在答案的那楼右下角评下分,也算对人家的酬谢不是吗?
作者: Batcher    时间: 2018-11-2 13:37

  1. @echo off
  2. for /f "tokens=1-4 delims=-" %%a in ('dir /b /a-d *.mpg') do (
  3.     ren "%%a-%%b-%%c-%%d" "%%d"
  4. )
复制代码

作者: twm581025    时间: 2018-11-6 08:53

回复 4# yhcfsr


    嗯 新手 已补上 嘿嘿
作者: twm581025    时间: 2018-11-6 08:54

回复 5# Batcher


    谢谢 已经可以了
作者: twm581025    时间: 2019-5-7 12:24

回复 5# Batcher
大神 请问如果取前面的数字应该怎么改
9999990001-张学友-忘情水-国语.mpg
9999990002-张学友-懂你-国语.mpg
9999990003-刘德华-笨小孩-国语.mpg
改为
9999990001.mpg
9999990002.mpg
9999990003.mpg
作者: Batcher    时间: 2019-5-7 15:07

回复 8# twm581025


5楼第3行改成这样试试:
ren "%%a-%%b-%%c-%%d" "%%a"
作者: twm581025    时间: 2019-5-7 16:56

回复 9# Batcher
好像不行
作者: Batcher    时间: 2019-5-7 16:58

回复 10# twm581025


    具体哪里不行?
作者: twm581025    时间: 2019-5-7 17:25

回复 11# Batcher
执行这个
@echo off
for /f "tokens=1-4 delims=-" %%a in ('dir /b /a-d *.mpg') do (
   ren "%%a-%%b-%%c-%%d" "%%a"

文件名是
9999990002-AJ吴小欧-男人也有泪-国语.mpg
执行之后还是这个名字
没有变成9999990002.mpg
作者: Batcher    时间: 2019-5-7 17:48

回复 12# twm581025
  1. @echo off
  2. for /f "tokens=1-4 delims=-" %%a in ('dir /b /a-d *.mpg') do (
  3.     echo ren "%%a-%%b-%%c-%%d" "%%a.mpg"
  4.     ren "%%a-%%b-%%c-%%d" "%%a.mpg"
  5. )
  6. pause
复制代码
加个echo看看显示的啥
作者: twm581025    时间: 2019-5-8 08:33

回复 13# Batcher
居然可以了。。。谢谢你了
作者: twm581025    时间: 2019-5-8 08:46

回复 13# Batcher
我在另外一台电脑上执行好像不行
作者: Batcher    时间: 2019-5-8 09:16

回复 15# twm581025
  1. @echo off
  2. for /f "tokens=1* delims=-" %%a in ('dir /b /a-d *.mpg') do (
  3.     echo ren "%%a-%%b" "%%a.mpg"
  4.     ren "%%a-%%b" "%%a.mpg"
  5. )
  6. pause
复制代码

作者: twm581025    时间: 2019-5-8 11:46

回复 16# Batcher
可以了 谢谢




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2