如何对多层后缀名文件进行重命名???

来源:百度知道 编辑:UC知道 时间:2024/05/31 22:31:29
在某文件夹下有若干后缀名为.mp3.study的文件,即双重后缀名,如果想批量将它们重命名为.mp3或.study.mp3,应该如何操作?

针对单后缀名,我用的命令是: ren *.mp3.study *.mp3
执行完毕后全变成.mp3.mp3了,还是两层后缀。
而针对双后缀名,用命令:ren *.mp3.study *.study.mp3
执行结果也不对。。。。。

我想问的是关于重命名这个命令的用法,并不在乎是什么类型的文件,我只是用mp3举例来说的,我如何能批量的把多层后缀去掉变成单层的,要问的就是这个过程。
并且在重命名后“保留”其原来名字的有效部分,从1开始按顺序排就没意义了,弄得全一个名啦~~

注:不限操作环境,以DOS下ren命令或Linux下mv命令为例吧!!

ren ?.mp3.study ?.study.mp3
ren ??.mp3.study ??.study.mp3
ren ???.mp3.study ???.study.mp3
ren ????.mp3.study ????.study.mp3
ren ?????.mp3.study ?????.study.mp3
文件名有几个字符就用几个问号的那些命令,每行的两次问号数量相同

@echo off & setlocal enabledelayedexpansion
set n=1
set /p hz=请你输入后缀名(如jpg 不要加点!):
for /f "delims=" %%i in ('dir /b/a-d *.!hz!') do (
set mn=%%i
if !n! leq 9 (
ren "%%~nxi" "照片00!n!.!hz!"
)
if !n! gtr 9 if !n! leq 99 (
ren "%%~nxi" "照片0!n!.!hz!"
)
if !n! gtr 99 if !n! leq 999 (
ren "%%~nxi" "p!n!.!hz!"
)
set /a n+=1
)
echo 改名成功
pause

---------------------------------------------------------------------- 你只要输入后缀名,如果为 123.jpg 你就输入(箭头后)----》jpg
还要注意;请放在文件所在文件夹执行!!!