我有一个脚本,它添加了路径
的路径 path=%PATH%;C:\dev\external\stuff\bin
在运行我的蝙蝠脚本几次后,我在这里得到一个错误,因为PATH是长的方式(因为我添加了相同的路径X次)。
所以我尝试了myvar="dontdoitagain"
并写了一个if语句。然而它总是空的,它似乎在bat文件结束时被清除(与我重新打开提示时相反,这是我在收到错误时所做的事情)。
如何让变量存在于会话范围而不是bat文件范围?
答案 0 :(得分:1)
if not defined EXTENDED_PATH (
set PATH=%PATH%;my_additions
set EXTENDED_PATH=1
)
实际上,应该有效。除非您使用限制变量生命周期的setlocal
,否则在退出批处理后,所有变量都会保留。
注意:如果您实际使用DOS,那么这将无法工作,因为它依赖于大约15年前在{NT} {4}}中引入的功能。在这种情况下,您可能需要采用以下方法:
cmd