Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 需要帮助将批处理文件中的变量重定向到逗号分隔的文本文件吗_Batch File_Redirect - Fatal编程技术网

Batch file 需要帮助将批处理文件中的变量重定向到逗号分隔的文本文件吗

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

谁能帮我一下吗

我在批处理文件中有5个变量,这些变量是通过提示输入的

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
。如果你需要更多的细节,请留下评论,我会尽力解释为什么会这样