加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何仅为当前OS会话设置变量

发布时间:2020-12-14 05:44:28 所属栏目:Windows 来源:网络整理
导读:setx永久修改环境变量. set仅在批处理脚本持续时间内使变量可用. 有没有办法设置变量以保持其值,直到系统重新启动? 例如.在我的批处理文件中,我正在检查变量是否设置如下: if %MYVAR% == 1 (block) 解决方法 @ECHO OffIF NOT EXIST q25244121.org GOTO don
setx永久修改环境变量.
set仅在批处理脚本持续时间内使变量可用.
有没有办法设置变量以保持其值,直到系统重新启动?
例如.在我的批处理文件中,我正在检查变量是否设置如下:

if %MYVAR% == 1 (
<block>
)

解决方法

@ECHO Off
IF NOT EXIST q25244121.org GOTO done
:: reset to original
FOR /f "tokens=1*delims==" %%a IN (q25244121.org) DO (
 IF DEFINED %%a FOR /f "tokens=1*delims==" %%p IN ('set %%a') DO (
  IF "%%a"=="%%p" IF "%%b" neq "%%q" SET "%%a=%%b"
 )
)
:: Delete if not originally defined
FOR /f "tokens=1*delims==" %%p IN ('set') DO (
 FINDSTR /L /i /c:"%%p=" q25244121.org >NUL
 IF ERRORLEVEL 1 SET "%%p="
)

:done
:: Record current settings
set>q25244121.org

EXIT /b

这可能对你有用.您需要将CAPS中的SET指令更改为SETX.毫无疑问,临时文件也需要放在一个文件中,其中用户名是您使用的名称的一部分.

如果要将此批处理包含在启动目录中,则应该还原最后保存的环境变量的值.

因此,在首次登录时,会存储当前变量的值.在后续登录中,无论是否已执行setx,环境都将恢复到最后存储的环境.

但是,您需要更改程序.这将恢复到已知状态.如果您确实想要设置一个值或安装一些添加新环境变量值或更改现有值的软件(PATH在这里会很受欢迎),那么您需要先运行此例程,进行更改,删除保存文件和重新运行这个例程.尴尬,我承认 – 但这是一种方法.

哦 – 记得在setx之??后设置你的变量.您甚至可以将setxX批处理写入setx,然后设置(或反之亦然)所需的变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读