通过读取第2行的最后一个单词来重命名文本文件

时间:2014-02-25 16:28:12

标签: batch-file

我有大量的文字文件。

我需要一个读取每个文件的批处理脚本,并将其重命名为第二行的最后一个字。

这些文本文件的第二行的最后一个单词在给定的文件集中是唯一的。

1 个答案:

答案 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以实际重命名文件。