Создайте несколько файлов с переменными, используя txt с пакетом

#batch-file

Вопрос:

Извините за очень упрощенную версию моего вопроса, но я разберусь отсюда.

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

 Peter
Tommy
Mike
 

У меня есть еще один файл, содержащий текст.

 Hello %VARIABLE%
How are you doing?
 

Я хотел бы иметь пакетный файл, который создает по одному новому текстовому файлу для каждой строки из первого текстового файла и называет их соответствующим образом.

Peter.txt:

 Hello Peter
How are you doing?
 

Tommy.txt:

 Hello Tommy
How are you doing?
 

Mike.txt:

 Hello Mike
How are you doing?
 

Вот где я сейчас нахожусь.

 @echo off
for /f "delims=" %%x in (file.txt) do set /p nAme=%%x

(
echo Hello %nAme%
echo.
echo How are you doing?
)>%nAme%.txt
 

Это (test.bat) только записывает переменные на экран и создает test.txt файл с

 Hello test

How are you doing?
 

Ответ №1:

Для чтения файла используется команда FOR с параметром /F.

 FOR /F "usebackq delims=" %%G IN ("file.txt") DO (
    echo Hello %%G>"%%G.txt"
    echo How are you doing?>>"%%G.txt"
)
 

Комментарии:

1. спасибо, это здорово! о боже, я был так близок 🙂 маленький мод для меня, потому что настоящий файл-это 100 строчный скрипт ps1, это то, что я только поставил )>>>»%%G.txt» в конце, а не после каждой строчки. Спасибо!