如何在将变量从一个批处理文件发送到另一个时避免累积



我正在编写一个程序,从一个文件中获取数据并对其进行修改,然后再次将其保存在同一文件中当我执行程序时,具有相同名称的变量会累积在文件中。

如何使它高估变量而不是累加?

基本代码

@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

它们是等效的。

所以variable20与这个问题有什么关系是个谜。告诉我们你预计会发生什么将减少所需的猜测。

相关内容

最新更新