Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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_Save - Fatal编程技术网

Batch file 如何批量保存每个循环的数据

Batch file 如何批量保存每个循环的数据,batch-file,save,Batch File,Save,我试图做的是在每次循环时保存数据,最终我想知道如何使用for循环来保存循环每次迭代的所有数据。到目前为止,我得到的是这个 @echo off cls setlocal enabledelayedexpansion set X=1 set Y=1 set SUMVALUE=1 set LOOPVALUE=0 set XMAXVAL=3 set YMAXVAL=3 set /a SUMVALUE=%XMAXVAL% * %YMAXVAL% :LOOP cls set /a LOOPVALUE=%L

我试图做的是在每次循环时保存数据,最终我想知道如何使用for循环来保存循环每次迭代的所有数据。到目前为止,我得到的是这个

@echo off
cls
setlocal enabledelayedexpansion
set X=1
set Y=1
set SUMVALUE=1
set LOOPVALUE=0
set XMAXVAL=3
set YMAXVAL=3
set /a SUMVALUE=%XMAXVAL% * %YMAXVAL%

:LOOP
cls
set /a LOOPVALUE=%LOOPVALUE% + 1
>Data.sav echo %X%,%Y%
set /a Y=%Y% + 1
if %Y% gtr %YMAXVAL% ( set /a X=%X% + 1 
set Y=1)
if %LOOPVALUE% geq %SUMVALUE% goto END 
goto LOOP 

:END
cls
pause

我知道这是没有意义的,因为它所做的是每次循环并重写%X%,%Y%的内容,这样它将以3,3结束,但我不知道如何更改它,使其中断并创建一个新的存储行,这样它将是1,1(中断)2,1等。如果有人知道如何做到这一点,我们将不胜感激

您能否将变量值的输出发送到一个文件?例如,echo%X%>file.txt会将“X”的值发送到文本文件,然后用>>替换,下一轮将把下一个值附加到文件中(“如果文件不存在,则使用>>”创建文件,如果存在,则覆盖文件,如果迭代并添加更多数据,则不希望每次都使用该文件)。我真的不明白您想做什么,但我想这正是您想要的:将
>Data.sav echo%X%,%Y%
替换为
>Data.sav echo%X%,%Y%
,并将
>Data.sav break
放在
:LOOP
,,因此,您将新的
X
/
Y
对附加到文件
Data.sav
,而不是替换它;新行创建了一个空文件并覆盖了一个已经存在的文件,所以每次运行批处理文件时都会得到新数据…谢谢。相反,使用>>完全符合我的要求。谢谢你们的帮助。