Windows 如何使批处理文件在文件中存储多个值

Windows 如何使批处理文件在文件中存储多个值,windows,batch-file,echo,Windows,Batch File,Echo,我有一个问题,当我希望批处理文件在文件中生成文本时,它在这里不起作用,我尝试了: @echo off if exist My.file ( echo hey >file.txt echo hello >file.txt echo yooo >file.txt ) 当我运行它的时候,它甚至不做一个名为file.txt的文件,它只是自己打开和关闭它,有人知道任何解决方案吗?谢谢。我认为正确的方法是: @echo off if exist Myfile.txt (goto end)

我有一个问题,当我希望批处理文件在文件中生成文本时,它在这里不起作用,我尝试了:

@echo off
if exist My.file (
echo hey >file.txt
echo hello >file.txt
echo yooo >file.txt
)

当我运行它的时候,它甚至不做一个名为file.txt的文件,它只是自己打开和关闭它,有人知道任何解决方案吗?谢谢。

我认为正确的方法是:

@echo off
if exist Myfile.txt (goto end) else (goto write)
:write
echo hello > file.txt
echo how are you? >>file.txt
:end
当您仅使用>时,它将覆盖file.txt的所有内容,而不是>>将内容添加到文件末尾。

这样:

@echo off
(
echo hey
echo hello
echo yooo
) >myFile.txt

我想我的.file文件不存在。在运行批处理文件之前是否尝试创建它?是的,它存在,但括号内的值不起作用。它不创建名为file.txt的文件,并在其中创建一个文本hey hello yooo。>覆盖内容。如果要将文本附加到文件中,请改用>>。是的,但内圆括号命令不起作用。为什么?在Windows 7上对我有效。是否创建file.txt文件?如果有,它包含什么?为什么如果存在Myfile.txt goto-end或者使用标签行goto-write:写,而不仅仅是如果存在Myfile.txt goto-end,或者如果存在Myfile.txt goto:EOF并且没有标签行:end,则更简单?命令GOTO到下一行的跳转总是可以忽略的。是的,我也考虑过这个问题,但是如果我尝试使用括号,它将不起作用。我写了一个GOTO-write,让您看到可以使用GOTO控制程序流。很高兴您找到了答案: