我需要一个批处理文件来读取 XYZ.txt 文件中存在的描述名称并根据描述名称重命名该文件名。
例如,我有一个名为“nest.txt”的文件名,当我们打开文本文件(nest.txt)时,文件名的第二行有描述(描述=人),那么批处理文件应该重命名我的 XYZ.txt 文件作为 Man.txt
根据上述条件,我有 1000 个文件要重命名。请帮我
我需要一个批处理文件来读取 XYZ.txt 文件中存在的描述名称并根据描述名称重命名该文件名。
例如,我有一个名为“nest.txt”的文件名,当我们打开文本文件(nest.txt)时,文件名的第二行有描述(描述=人),那么批处理文件应该重命名我的 XYZ.txt 文件作为 Man.txt
根据上述条件,我有 1000 个文件要重命名。请帮我
尝试这个:
for /f "skip=1 tokens=1* delims==" %%i in (nest.txt) do ren XYZ.txt "%%~j.txt"
这会让你开始。
for /f "tokens=1,* delims==" %%A in ('find /i "Description" "nest.txt"') do echo %%B
我假设,您有 1000 个具有 1000 个不同名称的文件。
@echo off
for /f %%i in ('dir /b *.txt') do (
for /f "skip=1 tokens=1* delims==" %%j in ( %%i ) do (
if "%%j"=="Description" echo ren "%%i" "%%k.txt"
)
)
这不适用于(原始)文件名中有空格的文件,但我不明白,为什么。(%%i 仅包含第一个空格之前的部分)。也许其他人可以帮助解决这个问题(我敢肯定,这只是一个小改动,但我找不到)
如果输出符合您的需要,请删除“回声”。
(您确定所有 1000 个文件都有 1000 个不同的描述吗?)