批处理 改文件名保留文件前几位
比如文件家里有各类文件10多个,名字长度不同,有10~20个字符左右。想改名字保留源文件名前N位。扩展名不变。就比如123456789.123保留第N位n=3的话就变成1...
比如文件家里有各类文件10多个,名字长度不同,有10~20个字符左右。
想改名字保留源文件名前N位。扩展名不变。
就比如123456789.123 保留第N位n=3的话就变成123.123,n=4就变成1234.123 展开
想改名字保留源文件名前N位。扩展名不变。
就比如123456789.123 保留第N位n=3的话就变成123.123,n=4就变成1234.123 展开
展开全部
批处理:
@echo off
setlocal enabledelayedexpansion
set n=3
for /f "delims=" %%a in ('dir /a-d *.*') do(
set "name=%%~na"
ren "%%~a" "!name:~0,%n%!%%~xa"
)
pause
注意:改完之后不能撤销,谨慎使用。
这种简单且数量不多的改名,我更倾向于用其他更容易操作的软件来做。比如,我用的压缩软件好压自带批量文件改名功能,选中要改名的文件,然后右键菜单里找到批量文件改名,设置好起始位和删除字符数就行了。
更多追问追答
追答
英文符号.也要算一个字符
有2个小错误,已修改:
@echo off
setlocal enabledelayedexpansion
set n=36
for /f "delims=" %%a in ('dir /a-d /b *.*') do (
set "name=%%~na"
ren "%%~a" "!name:~0,%n%!%%~xa"
)
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询