2

我需要一个批处理文件来读取 XYZ.txt 文件中存在的描述名称并根据描述名称重命名该文件名。

例如,我有一个名为“nest.txt”的文件名,当我们打开文本文件(nest.txt)时,文件名的第二行有描述(描述=人),那么批处理文件应该重命名我的 XYZ.txt 文件作为 Man.txt

根据上述条件,我有 1000 个文件要重命名。请帮我

4

3 回答 3

2

尝试这个:

for /f "skip=1 tokens=1* delims==" %%i in (nest.txt) do ren XYZ.txt "%%~j.txt"
于 2013-06-28T13:57:00.050 回答
1

这会让你开始。

for /f "tokens=1,* delims==" %%A in ('find /i "Description" "nest.txt"') do echo %%B
于 2013-06-28T13:56:10.300 回答
1

我假设,您有 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 个不同的描述吗?)

于 2013-06-28T19:46:37.170 回答