在dos中创建会话变量?

时间:2011-02-08 13:51:58

标签: batch-file

我有一个脚本,它添加了路径

的路径
 path=%PATH%;C:\dev\external\stuff\bin

在运行我的蝙蝠脚本几次后,我在这里得到一个错误,因为PATH是长的方式(因为我添加了相同的路径X次)。

所以我尝试了myvar="dontdoitagain"并写了一个if语句。然而它总是空的,它似乎在bat文件结束时被清除(与我重新打开提示时相反,这是我在收到错误时所做的事情)。

如何让变量存在于会话范围而不是bat文件范围?

1 个答案:

答案 0 :(得分:1)

if not defined EXTENDED_PATH (
    set PATH=%PATH%;my_additions
    set EXTENDED_PATH=1
)
实际上,

应该有效。除非您使用限制变量生命周期的setlocal,否则在退出批处理后,所有变量都会保留。

注意:如果您实际使用DOS,那么这将无法工作,因为它依赖于大约15年前在{NT} {4}}中引入的功能。在这种情况下,您可能需要采用以下方法:

cmd