我有客户披萨列表,我将其保存到数据库中的 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 % >
然后我会重复30%.txt,35%.txt,40%.txt最后50%.txt文件。
第二个问题
我还想将这 5 个新文件附加在一起
答案1
这是一个简单的for
循环:
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
并附加(>>
)(这将合并当前目录中的所有文件,按字母升序排列):
for %%a in (*.txt) do (
type %%a>>destination.txt
)
答案2
您没有指定操作系统,因此如果您有sed
可用的操作系统,我将提供一个可行的解决方案。
$ sed -e 's/^\(.*\)$/< Discount Pizza price for phone number is \1 25 % >/' < 25Percent.TXT