Board logo

标题: [文件操作] 求文件更名批处理 [打印本页]

作者: netdzb    时间: 2019-6-8 22:50     标题: 求文件更名批处理

chanaaa
chanaab
chanaac
chanaad
chanaae
chanaaf
chanaag

===>

chan.001
chan.002
chan.003
chan.004
chan.005
chan.006
chan.007
作者: miqilaosu    时间: 2019-6-9 09:16

本帖最后由 miqilaosu 于 2019-6-9 09:20 编辑

回复 1# netdzb


    你是截取前面的字符,后面用排序,还是说是根据后面aaa,aab,来做的排序,或者说通过最后一个字符排序,没看明白字母一共才26个
作者: netdzb    时间: 2019-6-9 09:25

回复 2# miqilaosu


  根据aaa,aab 来排序
作者: miqilaosu    时间: 2019-6-9 09:52

本帖最后由 miqilaosu 于 2019-6-9 10:08 编辑

回复 3# netdzb

如果你前边固定不变后边都是字母的话 比如:aaa,bbb,aba,abb,这样排序,DIR本身有排序功能,用FOR直接循环就可以了,不知道你文件夹里边是否都是同一类型的文件,如果不同类型的,要在DIR里指定类型
dir /a-d /o:n /b
  1. echo off
  2. setlocal enabledelayedexpansion
  3. set n=1001
  4. for /f "delims=*" %%a in (' dir /a-d /o:n /b *.txt') do (
  5. echo "%%a"
  6. ren %%a chan.!n:~1!.txt
  7. set /a n+=1
  8. )
  9. pause
复制代码
这个是TXT的,你的后缀不知道是什么,两处TXT需要换
作者: netdzb    时间: 2019-6-9 10:18

回复 4# miqilaosu

可以了,谢谢!
作者: miqilaosu    时间: 2019-6-9 10:27

回复 5# netdzb
  1. echo off
  2. setlocal enabledelayedexpansion
  3. set n=1001
  4. for /f "delims=*" %%a in (' dir /a-d /o:n /b *') do (
  5. echo "%%a"
  6. ren %%a chan.!n:~1!%%~xa
  7. set /a n+=1
  8. )
  9. pause
复制代码
如果很多后缀名,只想按字母排序修改的话,可以用%%~xa来直接获取原文件后缀名




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