@echo off
for /f "tokens=1 delims=." %%i in ('dir /b *.txt') do (
for /f "tokens=1* delims=:" %%a in ('findstr /n .* %%i.txt') do (
if "%%a"=="1" ren "%%i.txt" "%%b".txt
)
)
pause
2、截短文件名至125个字:
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%i in ('dir /b /a-d *.txt') do (
set "line=%%i"
ren "%%i" "!line:~0,125!.txt"
)
pause
3、将截短的文件名写入第一行:
@echo off
for /f "delims=" %%a in ('dir /s /b *.txt') do (
echo %%~na>"%%a_tmp"
type "%%a">>"%%a_tmp"
move /y "%%a_tmp" "%%a"
)