1

У меня есть списки пиццы клиентов, которые я сохранил в 5 отдельных файлах .txt из моей базы данных в следующем формате:

Filename = 25Percent.TXT
"555-1211"
"555-1212"
"555-1223"

Каждый список представляет собой номер телефона в кавычках, и каждый список варьируется по длине.

Первый вопрос
У меня есть два набора переменных, которые я хотел бы заменить каждой цитатой в 5 текстовых файлах.
Две переменные будут выглядеть так:

Var A = < Discount Pizza price for phone number is "
Var B = " 25 % >

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

New Filename = 25Percentfinished.TXT
< Discount Pizza price for phone number is "555-1211" 25 % >
< Discount Pizza price for phone number is "555-1212" 25 % >
< Discount Pizza price for phone number is "555-1223" 25 % >

Затем я повторил бы для файла 30percent.txt, 35percent.txt, 40percent.txt и, наконец, 50percent.txt .

Второй вопрос
Я также хотел бы добавить 5 новых файлов вместе

2 ответа2

1

Это простой цикл:

for /f "tokens=*" %%a in (25Percent.txt) do (
    echo ^< Discount Pizza price for phone number is %%a 25 %%% ^>>>25Percentfinished.txt
)

Смотрите for /? для использования. Это обрабатывает файл построчно, считывая строку в переменную %%a и добавляя измененную строку в другой файл. < И > экранируются с помощью ^ (делая ^< и ^>), потому что они имеют особое значение в командной строке. % «Экранируется» с %%% потому что это также специальный символ, но не может быть экранирован, как другие.


Вы можете объединить несколько текстовых файлов следующим образом:

copy file1.txt + file2.txt + file3.txt destination.txt

Или вы можете выполнить цикл с помощью type и append (>>) (это объединит все файлы в текущем каталоге в алфавитном порядке по возрастанию):

for %%a in (*.txt) do (
    type %%a>>destination.txt
)
0

Вы не указываете ОС, поэтому я предоставлю решение, которое будет работать, если у вас есть доступный sed .

$ sed -e 's/^\(.*\)$/< Discount Pizza price for phone number is \1 25 % >/' < 25Percent.TXT

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .