dos 如何用ren改名字最后的3个字符?

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:01:09
因为从缓存里拉出来的文件会自动在后面加上〔1〕或〔2〕……
怎么可以把他后面的3个字符去除掉?

例如:
aa[1].dat
bbb[1].txt
ccccccccc[1].jpg
……

改成:
aa.dat
bbb.txt
ccccccccc.jpg
……

多谢!
谢谢一楼,文件可能有一两百个,我要的是批处理。

用 ren *[1].* *.* 结果没有反应。

代表文件名有几位字符,后面的?号代表随机命名重命名后的文件!
或者改一个例子
type nul>bbb[1].txt
set name=bbb[1].txt
set nn=%name:~0,-7%%name:~-4%
call ren %name% %nn%

改一个例子
type nul>bbb[1].txt
set name=bbb[1].txt
set nn=%name:~0,-7%%name:~-4%
call ren %name% %nn%

批处理里所有文件
@echo off&setlocal enabledelayedexpansion
FOR /f "Delims=" %%i in ('dir /b')do (
set n=%%~ni
set nn=!n:~0,-3!!%%~xi!
ren "%%i""!nn!%%~xi"
)
pause

c:/>ren aa[1].dat aa.dat
依此类推!
还有一种方法,
c:/>ren **[1].dat ?.dat
**代表文件名有几位字符,后面的?号代表随机命名重命名后的文件!
如果有三位字符就打三个*,如果四位打四个****

ren ?????[?].* ?????.*

这种方式可实现批量修改。

或者干脆下载个“文件更名专家”,以后也会用得着。

**代表文件名有几位字符,后面的?号代表随机命名重命名后的文件!
或者改一个例子
type nul>bbb[1].txt
set name=bbb[1].txt
set nn=%name:~0,-7%%name:~-4%
call ren %name% %nn%
干脆下载个“文件更名专家”,以后也会用得着。