the*_*cat 3 windows variables command-line batch-file windows-7
setx永久修改环境变量.
set仅在批处理脚本持续时间内使变量可用.
有没有办法设置变量以保持其值,直到系统重新启动?
例如,在我的批处理文件中,我正在检查变量是否设置如下:
if %MYVAR% == 1 (
<block>
)
Run Code Online (Sandbox Code Playgroud)
@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
Run Code Online (Sandbox Code Playgroud)
这可能对你有用.您需要将SETCAPS中的说明更改为SETX.毫无疑问,临时文件也需要放在一个文件中,其中用户名是您使用的名称的一部分.
如果要将此批处理包含在启动目录中,则应该还原最后保存的环境变量的值.
因此,在首次登录时,会存储当前变量的值.在后续登录中,无论是否setx已执行,环境都将恢复到最后存储的环境.
但是,您需要更改程序.这将恢复到已知状态.如果你真的想要setx一个值或安装一些软件来添加新的环境变量值或更改现有的值(PATH在这里会很喜欢),那么你需要先运行这个例程,进行更改,删除保存文件并重新运行这个例程.尴尬,我承认 - 但这是一种方法.
哦 - 记住set你的变量setx.你甚至可以编写一个setxX批处理setx,然后set(反之亦然)所需的变量.
| 归档时间: |
|
| 查看次数: |
1276 次 |
| 最近记录: |