100分悬赏!求bat批处理,将文件夹内所有TXT文件的,第一行,第二行做为文件名,删除第三行

2024-11-24 15:39:45
推荐回答(1个)
回答1:

@echo off
setlocal enabledelayedexpansion
for %%a in (*.txt) do (
  set "file=%%a"
  set /p name_a=<"%%a"
  call :nameb
  ren "%%a" "!name_a!!name_b!.txt"
)
echo ok
pause>nul&exit

:nameb
for /f "skip=1 tokens=* delims=" %%c in ('type "!file!"') do set "name_b=%%c"&goto :out
:out
for /f "skip=2 tokens=* delims=" %%c in ('type "!file!"') do set "line_c=%%c"&goto :next
:next
findstr /V "!line_c!" "!file!">#
move # "!file!"