场景一:删除文件命中指定字符前的部分字符
//!该例子指定的字符为空格,
@echo off
setlocal enabledelayedexpansion
for /f “delims=” %%a in (‘dir /s /b /a-d *.txt’) do (
set “xz=%%~nxa”
set xz=!xz:* =!
ren %%~sa “!xz!”
)
pause
//!场景二:删除文件名称中前边或者后边指定个数个字符(不包括空格)
@echo off&setlocal enabledelayedexpansion
set /p str=请输入你要删除的字符串的个数(如果是删除前面的,输入10;如果删除后面的,输入:-8 输入后请点击回车键):
for %%i in (*.txt) do (
set “a=%%i”
echo %str%|findstr “-” >nul 2>nul&&set “b=!a:~0,%str%!”||set “b=!a:~%str%!
ren “%%i” “!b!”
)
pause
场景三:提取出来输入文件名和输出文件名,通过excel形成单条rename命令
然后放到bat中批量执行。