我正在编写一个程序,从一个文件中获取数据并对其进行修改,然后再次将其保存在同一文件中当我执行程序时,具有相同名称的变量会累积在文件中。
如何使它高估变量而不是累加?
基本代码
@echo off
call data.bat
echo variable1 (from data.bat) = %variable1%
echo variable2 (from data.bat) = %variable2%
pause
call :Display
rem IMPORTANT! This file MUST end with GOTO :EOF!
pause
set /a variable2=variable2/2
@echo SET variable2=%variable2%>>data.bat
goto :EOF
pause
数据文件
set variable1=22
SET variable2=99
此行错误地报告(不是var3(
echo variable3 (from data.bat) = %variable2%
该行将CCD_ 1的值设置为"0";一个名为CCD_ 2〃+的变量的当前值"2〃;
SET variable2=%echo variable3%/2
由于可能未设置echo variable3
,因此批处理将variable2
设置为/2
,并根据请求记录该值。
所以,我们在猜测你打算做什么。也许variable3
设置在你未发布的例程display
中。
如果您打算在data.bat
文件中使用-(猜测为其值的一半(覆盖variable2
的设置,那么正确的批处理行将是
set /a variable2=variable2/2
或
set /a variable2=%variable2%/2
它们是等效的。
所以variable2
0与这个问题有什么关系是个谜。告诉我们你预计会发生什么将减少所需的猜测。