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

[文件操作] 求文件更名批处理

chanaaa
chanaab
chanaac
chanaad
chanaae
chanaaf
chanaag

===>

chan.001
chan.002
chan.003
chan.004
chan.005
chan.006
chan.007

回复 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来直接获取原文件后缀名

TOP

回复 4# miqilaosu

可以了,谢谢!

TOP

本帖最后由 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需要换

TOP

回复 2# miqilaosu


  根据aaa,aab 来排序

TOP

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

回复 1# netdzb


    你是截取前面的字符,后面用排序,还是说是根据后面aaa,aab,来做的排序,或者说通过最后一个字符排序,没看明白字母一共才26个

TOP

返回列表