Batch file 需要帮助将批处理文件中的变量重定向到逗号分隔的文本文件吗
谁能帮我一下吗 我在批处理文件中有5个变量,这些变量是通过提示输入的Batch file 需要帮助将批处理文件中的变量重定向到逗号分隔的文本文件吗,batch-file,redirect,Batch File,Redirect,谁能帮我一下吗 我在批处理文件中有5个变量,这些变量是通过提示输入的 set Name=john smith set address=25 center street set city=Hackenack set state=NJ set zip-07601 我想创建一个名为clients.txt的以逗号分隔的输出文本文件,该文件将包含所有变量的内容,并用逗号分隔字段 我将有数百条输入记录,变量中有不同的值 我只需要帮助,告诉我如何将变量重定向到一个输出记录。 多谢各位 @echo off s
set Name=john smith
set address=25 center street
set city=Hackenack
set state=NJ
set zip-07601
我想创建一个名为clients.txt的以逗号分隔的输出文本文件,该文件将包含所有变量的内容,并用逗号分隔字段
我将有数百条输入记录,变量中有不同的值
我只需要帮助,告诉我如何将变量重定向到一个输出记录。
多谢各位
@echo off
setlocal
SET /P name="Name? "
SET /P address="Street address? "
SET /P city="City? "
SET /P state="State? "
SET /P zip="Zip? "
echo %name%,%address%,%city%,%state%,%zip% >> clients.txt
如果希望它是真正的CSV格式,则需要将输入的值用引号括起来,如下所示
echo“%name%”、“%address%”、“%city%”、“%state%”、“%zip%”>>clients.txt
如果希望文本文件完全是一行(而不是每个分组一行),则
set/p I=“%name%”、%address%”、%city%”、%state%”、%zip%”clients.txt
对于每个后续的set/pi=stuff>clients.txt,数据将被写入第一行,没有换行符
解释
当您使用单个>
回显数据时,原本会输出到控制台的文本会被重定向到新的输出文件,如果目标文件已经存在,则会覆盖该文件
当您使用双>>
回送数据时,输出将附加到现有文件而不被覆盖(如果文件尚不存在,则创建)
不带换行符的追加有点棘手,需要一些技巧:set/p var=text to append>outfile.txt
。如果你需要更多的细节,请留下评论,我会尽力解释为什么会这样