当我运行批处理文件以设置环境某些变量时,它将显示path_to_inpass
的完整路径,但是当它与path_to_perl
和path_to_system_dir
一起使用时,其中包括%path_to_inpass%
”,它显示的是%path_to_inpass%
之后的结尾。
但是当我再次运行批处理文件时,它已经正确完成了。
@echo off
SETX path_to_inpass "C:\Program Files\InPass"
SETX path_to_perl "%path_to_inpass%\System\perl\bin"
SETX path_to_system_dir "%path_to_inpass%\System"
SETX path_to_system_temp_upgrade_dir "%temp%\inpass_upgrade"
答案 0 :(得分:1)
setx
command将变量写入Windows注册表,并因此使其在 next 命令提示符(cmd.exe
)实例中可用。
要使变量在 current cmd
实例中也可用,请改用普通的set
command:
@echo off
setx path_to_inpass "C:\Program Files\InPass"
set "path_to_inpass=C:\Program Files\InPass"
setx path_to_perl "%path_to_inpass%\System\perl\bin"
setx path_to_system_dir "%path_to_inpass%\System"
setx path_to_system_temp_upgrade_dir "%temp%\inpass_upgrade"