我从Project Gutenberg下载了大约34000本.txt格式的图书。现在我想根据它的内容重新命名它们。例如,每个文本文件都包含其“标题”和“作者姓名”,因此我想通过一些命令重命名其“标题”和“作者姓名”上的所有文本文件。批量重命名.txt文件
我创建了一个批处理文件。它运行但不重命名文件。这是我的代码:
@echo off&setlocal
cd E:\Test
for /f "delims=" %%i in ('dir /a-d/b *.txt') do (
set "nname="
set "fname=%%~i"
for /f "usebackqskip=7delims=" %%f in ("%%~i") do if not defined nname
set "nname=%%f"
setlocal enabledelayedexpansion
set "nname=!nname:~0,40!"
echo rename "!fname!" "!nname!"
endlocal
)
你的脚本不会重命名文件,因为它不会尝试(它不会在任何地方调用'ren',也不会''移动')。你的问题到底是什么? – stakx
感谢您的回复。我的问题是,我需要一个脚本,通过其内容重命名文本文件。例如,一个文本文件名是9767.text,这个文件包括“作者:本约翰逊”。现在我想用脚本替换它的作者姓名“Ben Johnson”上的这个文件(9767.text)。我有34000个文本文件,其名称是这样的。 –