我想知道如何使用批处理获得持久变量,以便在没有大量开销的情况下无法安装额外软件的环境中进行部署。
我想检测它是否是第一次打开。如果是,它会将变量设置为 First ,然后运行一组设定的代码,然后将变量更改为 已打开 即可。有什么方法可以尝试这样做,还是不可能?
答案 0 :(得分:1)
我恐怕我不明白你对“原子”术语的意思......但是,我认为下面的代码可以做你想要的:
@echo off
setlocal
call :InitAtomicVar
if "%atomic%" equ "First" (
echo This is the first time this program run!
echo set "atomic=Opened">> "%~F0"
)
echo Do the rest of program business here...
goto :EOF
rem The next lines *must be* the last lines in this file!
:InitAtomicVar
set "atomic=First"
在这个方法中,程序在第一次运行时为自己添加一行,所以下次程序运行时不会重复初始化步骤。