想保存文件名的后3位,之前的文件名字符删除
如sadfgadsf.exe
变成dst.exe
求批处理 如何保留文件名后几位,删除之前的字母
答案:3 悬赏:40 手机版
解决时间 2021-01-29 23:15
- 提问者网友:山高云阔
- 2021-01-29 05:45
最佳答案
- 五星知识达人网友:风格不统一
- 2021-01-29 05:53
::请将要处理的文件直接拖至此BAT图标上
if "%1"=="" exit
pushd %~dp1
set m=%~n1
set n=%~x1
echo %m:~-3%%n%
move "%1" "%m:~-3%%n%"
if "%1"=="" exit
pushd %~dp1
set m=%~n1
set n=%~x1
echo %m:~-3%%n%
move "%1" "%m:~-3%%n%"
全部回答
- 1楼网友:独钓一江月
- 2021-01-29 08:20
可用以下代码,已验证过的:
@echo off
set /p b=你想保留文件名后面几个字符:
setlocal enabledelayedexpansion
for %%i in (*%.exe) do (
set $=%%~ni
rename %%i !$:~-%b%!%%~xi
)
exit
注意:上面代码中的.exe可以被改成任何类型的文件扩展名,表示只处理这一类文件,保留文件名后面N个字符。
若嫌每次修改代码麻烦,可以改成如下:
@echo off
set /p a=你要处理的文件类型扩展名(如.txt、.xlsx...):
set /p b=你想保留文件名后面几个字符:
setlocal enabledelayedexpansion
for %%i in (*%a%) do (
set $=%%~ni
rename %%i !$:~-%b%!%%~xi
)
exit
如此便可以按照你输入的扩展名,来灵活处理这一类型的文件,保留后面N个字符了。
希望对你有帮助。
请采纳。
- 2楼网友:woshuo
- 2021-01-29 07:22
用重命名命令ren,例:
@echo.
ren abcdfgggasga.txt gasga.txt
@echo off
将上面这段命令另存为.cmd或.bat后放在同目录里执行即可之实现,如需加路径,我想你会的....
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯