【问题标题】:checking for existance of ";C:\Python27" before appending ";C:\Python27" to environment variable PATH在将“;C:\Python27”附加到环境变量 PATH 之前检查“;C:\Python27”是否存在
【发布时间】:2014-07-08 10:43:54
【问题描述】:

我正在使用以下代码将“;C:\Python27”附加到环境变量 PATH..

@echo off

Setx Path "%PATH%;C:\Python27" -M

PAUSE

但如果我多次运行此批处理文件,它会多次附加“;C:\Python27”,这是不应该发生的。 所以我必须在将其附加到 PATH 变量之前检查 ;C:\Python27。

有什么命令可以达到这个目的吗?

【问题讨论】:

    标签: path append environment-variables


    【解决方案1】:

    下面的 Powershell 应该可以做到:

    $needPython = $env:path | select-string -NotMatch -SimpleMatch "c:\python27"
    if ($needPython) {
        [Environment]::SetEnvironmentVariable("tstpath", $env:path + ";c:\python27", "User")
    }
    

    您可以将User 更改为MachineProcess 以设置机器或进程级别的环境变量。

    您可以直接从 powershell 提示符运行它。

    如果您是从 dos 命令行使用(您需要脚本的完整路径或.\,如果它在当前目录中):

    powershell "& '.\myscript.ps1'"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-04
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 2020-04-20
      • 2020-12-11
      相关资源
      最近更新 更多