我有大量的文字文件。
我需要一个读取每个文件的批处理脚本,并将其重命名为第二行的最后一个字。
这些文本文件的第二行的最后一个单词在给定的文件集中是唯一的。
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
SET "sourcedir=."
FOR /f "delims=" %%a IN ('dir /b /a-d "%sourcedir%\*.txt"') DO (
SET "found="
FOR /f "skip=1delims=" %%b IN ('type "%sourcedir%\%%a"') DO IF NOT DEFINED found (
SET "found=%%b"
SETLOCAL ENABLEDELAYEDEXPANSION
SET "found=!found:"=!"
SET "found=!found: =.!"
FOR /f %%c IN ("!found!") DO SET "found=%%~xc"
ECHO REN "%sourcedir%\%%a" "!found:~1!.txt"
ENDLOCAL
)
)
GOTO :EOF
为了测试目的,所需的REN命令仅为ECHO
。 在您确认命令正确后,将ECHO REN
更改为REN
以实际重命名文件。