2013-06-28 7 views
2

Мне нужен командный файл, который читает имя описания, присутствующее в файле XYZ.txt, и переименует это имя файла на основе имени описания.Переименовать файл на основе файла Содержимое командного файла

Например, у меня есть имя файла под названием «nest.txt», и когда мы открываем текстовый файл (nest.txt), вторая строка имени файла имеет описание (Description = Man), тогда командный файл должен переименовывать мой XYZ.txt файл как Man.txt

У меня есть 1000 файлов для переименования на основе вышеуказанного условия. Пожалуйста, помогите мне

+0

Что вы попробовали? Мы не будем делать домашнее задание. – nouney

+0

показан пример файла TXT. – Endoro

+0

в соответствии с тем, что вы говорите, у вас есть тысяча файлов с именем «nest.txt» с различным контентом. В самом деле?? – Stephan

ответ

1

Это поможет вам начать работу.

for /f "tokens=1,* delims==" %%A in ('find /i "Description" "nest.txt"') do echo %%B 
+0

Привет, Вся небольшая коррекция здесь ... я извиняюсь за то же самое. Например, у меня есть имя файла под названием «nest.txt», и когда мы открываем текстовый файл (nest.txt), вторая строка имени файла имеет описание (Description = Man), тогда командный файл должен переименовывать мое гнездо. txt файл в формате Man.txt – Sumit

2

попробовать это:

for /f "skip=1 tokens=1* delims==" %%i in (nest.txt) do ren XYZ.txt "%%~j.txt" 
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 различных опций?)