Windows 批处理,仅选择用户变量

2024-01-06

在环境变量中,我有一个用于用户变量和系统变量的 PATH 变量。

在批处理脚本中,为了向用户 PATH 变量附加新的给定路径,我需要选择当前值。不幸的是 %PATH% 返回用户变量和系统变量的组合。

当然,我只想向用户变量添加新的自定义路径值。也没有必要通过系统路径来增强它。这就是为什么我有两个变量。

提前致谢。

编辑:在文档中发现以下语句:

%PATH% 变量设置为系统变量和用户变量,这两个值组合起来给出当前登录用户的 PATH...

Example:

用户变量:

PATH
value: c:\dev

系统变量

PATH
value: c:\Program Files

我想要做的是将值添加到用户变量:c:\tmp,这样最终 PATH 将具有值:c:\dev;c:\tmp

但是,如果打开 cmd 窗口:

echo %PATH%
c:\Program Files;c:\dev

所以 setx 将执行以下操作

setx path "%path%;c:\tmp"

打开新的cmd

echo %PATH%
c:\Program Files;c:\dev;c:\tmp

这是错误的,因为我只需要 c:\dev;c:\tmp

我希望这次我说得更清楚了。


你如何修改变量?

只有一个环境变量PATH,这样您就可以继续更改它。这些更改是暂时的(并且对于您的进程及其子进程而言是本地的)。

注册表中有两个(实际上更多)持久位置,当创建进程时,环境变量将从这些位置初始化。您可以使用修改它们reg http://technet.microsoft.com/en-us/library/bb490984.aspx公用事业。没有歧义,因为它们是分开的:

  • HKEY_CURRENT_USER\环境
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

您可能必须重新登录才能使注册表中的更改生效(我不记得是否有编程方式来通知资源管理器这些设置已更改)。另请注意,默认情况下,子进程继承其父进程的环境(除非父进程采取特殊措施否则),因此例如如果你启动一个cmd窗口,然后通过系统设置对话框修改环境,应用程序从该窗口启动cmd不会看到变化。

[UPD]您可以使用以下命令从注册表中获取特定于用户的环境变量的值reg公用事业:

reg query HKCU\Environment /v PATH

尽管您必须过滤其输出以获得实际值,因为它会输出一些无用的文本。这是一个咒语示例:

for /f "usebackq tokens=2,*" %A in (`reg query HKCU\Environment /v PATH`) do set value=%B

它将结果存储在环境变量中value。记得加倍%在批处理文件中使用它时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 批处理,仅选择用户变量 的相关文章

  • xampp openssl 调用 openssl_pkey_new() 时出错;

    所以我试图让 openssl 在我的 Windows 安装的 xampp 1 7 3 上工作 它是用 OpenSSL 0 9 8l 构建的 这只是我第二次在 amp 安装上安装 openssl 但第一次进展顺利 这是在同一台机器上的 wam
  • Inno Setup中如何处理带空格的路径?

    我想允许带有空格的路径 例如program files 当使用 Inno Setup 安装我的程序时 但是 带有空格的路径会让我安装的服务崩溃 Inno 安装文件如下所示 Setup AppName Demo DefaultDirName
  • 如何设置扬声器声音增强设置

    如何以编程方式设置 Windows 扬声器设置 增强 选项卡 中可用的声音效果 恐怕这是不可能的 参见 Maurits 对他的评论blog http blogs msdn com b matthew van eerde archive 20
  • 如何获取打印机设备上下文?

    我在 Windows 上尝试使用以下命令打印增强型图元文件 EMF 播放增强元文件 http msdn microsoft com en us library dd162800 28VS 85 29 aspx 我当前正在使用屏幕上窗口的设备
  • 如何使用WAMP登录phpMyAdmin,用户名和密码是什么?

    根 这个词是什么意思php我的管理员 http en wikipedia org wiki PhpMyAdmin 每当我写作时localhost phpmyadmin在地址栏上 我被要求输入用户名和密码 但我不知道它们是什么 我不记得何时何
  • 禁用“应用程序已停止工作”窗口

    我们获得了 NET WCF 服务 理想情况下该服务应具有 100 的正常运行时间 但有时我们的应用程序中会出现由第三方数据库连接组件引起的内存泄漏问题 我们配置 nnCron 来监视进程是否存在 并且当该服务的进程退出时 它应该再次启动它
  • 从 Windows Batch (cmd.exe) 中的文件读取环境变量

    我正在尝试从批处理文件中读取变量 以便稍后在批处理脚本 Java 启动器 中使用 理想情况下 我希望所有平台 Unix Windows 上的设置文件都具有相同的格式 并且也是有效的 Java 属性文件 也就是说 它应该看起来像这样 sett
  • SVN提交失败,访问被禁止

    最近我面临着提交SVN的问题 我使用的SVN服务器是VisualSVN Server 2 5 9 客户端是TortoiseSVN 1 7 12 起初 一个用户在将文件提交到 SVN 时遇到问题 但该用户仍然可以访问存储库并下载更新 第二台
  • 如何用 Java 制作 Windows 7 工具提示

    我一直在网上到处寻找 但没有找到这个小问题的答案 在 Windows 7 中 我认为在 Vista 中 您有一个漂亮的圆形银色工具提示 它看起来比旧的黄色盒装蹩脚工具提示要好得多 下面的 How do I make a Windows 7
  • 二进制模式下的 Windows 管道

    我在windows中编写了一个程序 它将播放通过stdin发送给它的二进制音频 我将其称为play 就像linux程序一样 然后我写了一个单独的程序如下 FILE f popen aplay exe wb FILE song fopen C
  • 使用 BHO 扩展 Windows 资源管理器

    我正在尝试使用 C 中的自定义面板来扩展 Windows 资源管理器 不是谎言 它应该如下所示 这是我发现的一个类似的问题 在 C 中 类似问题 https stackoverflow com questions 22101829 ishe
  • 如何在 Windows 中的命令提示符启动时运行命令

    EDIT 如果您想在计算机启动时执行任何任务或基于 活动这非常有帮助 http answers microsoft com en us windows forum windows 7 performance how to schedule
  • 如何在 Windows Docker 容器中启动 PowerShell (x86)?

    我正在尝试从 PowerShell 启动 Windows Docker 容器中的 PowerShell x86 但它不会启动新的 shell 我正在从 AWS Windows EC2 运行 DockerWindows Server 2019
  • 通过 Python 与 Windows 控制台应用程序交互

    我在 Windows 上使用 python 2 5 我希望通过 Popen 与控制台进程交互 我目前有一小段代码 p Popen console app exe stdin PIPE stdout PIPE issue command 1
  • getApplicationDocumentsDirectory 在 flutter 桌面(Windows)上不起作用

    如何在 Windows 上的 flutter 桌面上保存和打开文件 getApplicationDocumentsDirectory 不适用于 Windows 应用程序的 flutter 桌面 Future
  • ExecJS::Runtime在 Rails 4.1.4 中不可用

    UPDATE 现在一切正常了 谢谢deep https stackoverflow com users 2300000 deep 我安装了 node js 然后得到了一个 TZInfo DataSourceNotFound 错误 通过添加解
  • C++ Windows - 如何从 PID 获取进程路径

    如何在 Windows 上使用 C 从进程的 PID 检索进程的完全限定路径 Call OpenProcess http msdn microsoft com en us library ms684320 28VS 85 29 aspx获取
  • Java:以管理员身份运行

    Java 有没有办法要求系统控制管理员功能 当然不做 右键单击exe gt 以管理员身份运行 我想要的是 UAC 提供一个像 Windows Vista 或 Windows 7 中的框架 或者我在从 jar 生成 exe 时需要做一些设置吗
  • 使用.NET代码将系统时间同步到域控制器

    我要运行基于时间的测试 需要在测试期间多次更改系统时间 我希望能够在测试结束时将时间重新同步到域控制器时间 我有任何方法可以使用 NET 代码 C 来做到这一点 我正在使用以下位置的 p invoke 函数更改时间 使用 C 以编程方式设置
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win

随机推荐

  • 当有预定义高度时如何将文本放置在底部!

    这应该是非常微不足道的事情 但事实并非如此 我有一个预定义的锚点高度 我想将文本放置在底部 li a class my text My Text a li 我使用了以下 CSS 但不起作用 文本仍然显示在顶部 a my text backg
  • 在scale_y_log10变换后,背景填充(通过geom_rect)被删除

    我想向使用分组数据 因子 x 轴 和对数刻度 y 轴创建的绘图添加背景填充 添加对数刻度后 背景填充将被删除 这是一个错误 还是我做错了什么 可重现的示例数据 我将使用mtcars数据 但随着cyl变量作为因子 这是模仿我的数据的最简单的数
  • 管理用户项目权限

    我刚刚创建了一个 Visual Studio Online 帐户并添加了一个新用户 如何管理该用户的项目权限 当我以管理员身份登录时 我浏览了每个可用页面 但找不到任何内容 我唯一能做的就是将用户添加为新项目的成员 添加了新用户 添加用户作
  • Maven 不同分支版本控制的最佳实践 [开发、质量保证/预发布]

    我有几个在不同分支上开发和发布的项目 即发展 and release 这个过程运行得很好 但不幸的是它有一些缺点 我一直想知道是否有更好的版本控制方案适用于我的情况 主要开发发生在开发分支上 即 Subversiontrunk但这并不重要
  • 如何引用同名的不同程序集?

    我有 2 个具有相同名称的不同程序集 需要添加到我的项目中 当我尝试将两个引用添加到项目时 Visual Studio 告诉我该程序集已被引用 因为已经存在同名的程序集 我尝试重命名其中一个文件 我可以添加两个引用 但是当从重命名的程序集访
  • 如何使用上一个命令的参数?

    I know that Esc gives you the last argument of the last command 但我对最后一个命令的第一个参数感兴趣 有按键绑定可以做到这一点吗 在同一行中 是否有一种通用方法可以从最后一个命
  • 命名空间“AuntieDot”中不存在类型或命名空间名称“Core”

    我有 4 个 PCL 它们都针对相同的框架 点阿姨 阿姨Dot 身份验证 阿姨点 核心 阿姨点模型 但由于某种原因 在 AuntieDot Authentication 命名空间中使用 AuntieDot Core Helpers 尽管 A
  • 如何从页面左右滑动模态窗口

    我希望隐藏两个模式窗口 并将它们切换为从左侧滑入 另一个从右侧滑入 然而 在我创建的小提琴中 左侧和右侧模态窗口与页面的左侧和右侧正确对齐 左侧模态从右侧滑入 而不是从左边距 滑出 在这里小提琴 https jsfiddle net Big
  • 如何在python中获取sqlsoup中模式的列名?

    如何使用Python中的SQLSOUP从模式 表中获取字典中的列名和类型 使用MySQLDB 我可以创建游标并使用cursor description sqlsoup 有类似的东西吗 根据文档 https sqlalchemy readth
  • 您可以更改 GitLab 管道中的代码吗?

    GitLab CI CD 管道是否可以提交代码更改 我想运行一个使用的阶段black https github com psf black每当我推动工作时自动格式化我的代码 gitlab ci yml image python 3 6 st
  • 有没有办法自动避免进入 Visual Studio 中的某些函数?

    我知道 仅启用我的代码 调试选项 但这仅适用于托管代码 我正在寻找一种无需单步执行函数调用的方法 例如 STL 字符串转换运算符 因为函数参数之一中存在从 char 到字符串的隐式转换 我找到了这个博客条目 http blogs msdn
  • 远程服务器上的 Django 教程:如何在我的浏览器中查看?

    我正在开始学习 Django 教程 但遇到了障碍 在我常用的域上创建了示例 mysite 后 我希望能够在我的浏览器中显示它 该教程向我指出http 127 0 0 1 8000 http 127 0 0 1 8000 但是 这是行不通的
  • 如何将 Shell 变量值访问到 Groovy 管道脚本中

    现在我是 Shell Jenkins Groovy pipeline 的新手 我的要求是我正在将文件文本读取到 shell 脚本下的变量中 并且我需要将该变量值从 shell 脚本中传递出来并在 Groovy 脚本中使用 这是我的代码 st
  • 如何在android中创建可变数量的textview

    希望这不是一个坏问题 但是我已经通过 S O 进行了搜索 并且一直没能找到答案 我正在创建一个 Android 应用程序 它本质上是一个闹钟 我希望主要活动显示已创建的所有警报以及有关警报的一些信息 我的问题是如何根据已创建的警报数量创建给
  • TortoiseSVN合并分支到主干

    我知道这个问题已经被问过好几次了 所以我很抱歉再次问这个问题 但我只是想确保我理解不同合并之间的区别 我是这个项目的唯一开发人员 所以我不担心重写其他人的工作 我创建了这个项目的一个分支 因为我即将添加一些新功能 并且如果我需要修复当前代码
  • 用毫秒获取文件的最后修改日期?

    我正在尝试从文件夹中获取某些文件的日期和时间 上次修改 我设法获取日期和小时 分钟 秒 但无法获取毫秒 我已经尝试以所有可能的方式格式化该列 我只得到0毫秒 到目前为止我的代码是 用户选择一个文件夹 该代码在 A 列中显示找到的所有文件名
  • Socket.IO - 无法在 Google Chrome 中加载 XMLHttpRequest

    我试图从在 Chrome 19 0 1048 46 中工作的 socket io 主页获取第一个示例 但出现错误 XMLHttpRequest 无法加载 http localhost 8080 socket io 1 t 133715619
  • 函数 driver.switchTo.frame() 在 Selenium 中不起作用

    当我尝试在 Python 中使用 Selenium 中的 Webdriver 切换到网页上的框架时 它向我显示错误 请在下面找到我的代码 driver switchTo frame frame AttributeError WebDrive
  • Android 原生代码分析

    我正在尝试分析本机 Android 代码 但我得到了 出现以下错误 我正在 Linux 机器上运行代码 tracedmdump 配置文件后处理 痕迹 静态基本块 64525 动态 基本块 87073132 静态指令 412004 动态 说明
  • Windows 批处理,仅选择用户变量

    在环境变量中 我有一个用于用户变量和系统变量的 PATH 变量 在批处理脚本中 为了向用户 PATH 变量附加新的给定路径 我需要选择当前值 不幸的是 PATH 返回用户变量和系统变量的组合 当然 我只想向用户变量添加新的自定义路径值 也没