Windows环境变量嵌套的限制?

2023-12-25

那么,Windows 中环境变量的嵌套深度是否有限制呢?我做了很多开发工作,并且正在尝试设置我的开发环境变量,其中很多都是相互嵌套的,即。


GLEW=%THIRD_PARTY_ROOT%\GLEW
GLEW_1_5_5=%GLEW%\glew-1.5.5
GLEW_BIN_PATH=%GLEW_ROOT%\bin
GLEW_INCLUDE_PATH=%GLEW_ROOT%\include
GLEW_LIB_PATH=%GLEW_ROOT%\lib
GLEW_ROOT=%GLEW_1_5_5%

OSG=%THIRD_PARTY_ROOT%\OpenSceneGraph
OSG_2_8_3=%OSG%\OpenSceneGraph-2.8.3
OSG_BIN_PATH=%OSG_ROOT%\bin
OSG_INCLUDE_PATH=%OSG_ROOT%\include
OSG_LIB_PATH=%OSG_ROOT%\lib
OSG_ROOT=%OSG_2_8_3%

THIRD_PARTY_ROOT=C:\dev\third-party

但我很难让它们真正正确地扩展。有一段时间,当我查看 set 的输出时,我发现它们似乎正在按顺序扩展,因此任何依赖于 foo_ROOT 的输出都没有正确扩展。我尝试启用延迟扩展,但这没有帮助,但重新启动似乎......所以也许延迟扩展需要重新启动..

不管怎样,我的 PATH 变量中有 GLEW_BIN_PATH 和 OSG_BIN_PATH 并且它们拒绝扩展。这真的很令人沮丧,因为 dll 驻留在那里,当然我可以得到任何其他东西来扩展......有什么想法吗?

编辑:我将它们放在 PATH 变量中:

[everything else....];%GLEW_BIN_PATH%;%OSG_BIN_PATH%

看起来变量定义存在字典顺序依赖性。

Windows 按字典顺序扩展并填充环境变量 (:-O)

您只能在您的变量上使用“字典顺序”低于您的变量的变量。

例子: 以下定义:

VAR_01=1
VAR_02=%VAR_01%-2
VAR_03=%VAR_02%-3

Produces

VAR_01 is 1
VAR_02 is 1-2
VAR_03 is 1-2-3

But

VAR_01=1
VAR_02=%VAR_03%-2
VAR_03=%VAR_01%-3

Produces

VAR_01 is 1
VAR_02 is -2
VAR_03 is 1-3

由于VAR_02扩展时未定义VAR_03。

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

Windows环境变量嵌套的限制? 的相关文章

  • 如何在 Windows 上查找当前系统缓存大小?

    到处搜索 但未能找到 API 调用来检索 Windows 上 文件 系统缓存的当前大小 全局内存状态Ex https stackoverflow com a 2017659 450917 检索总计 免费 已用和交换统计数据 获取系统文件缓存
  • 如何以编程方式找出哪台计算机是 Windows 中的域控制器?

    我正在寻找一种方法来确定客户端计算机连接到的给定域的域控制器的名称 IP 地址 在我们公司 我们有很多用于测试的小型网络 其中大多数都有自己的小域 作为示例 其中一个域被命名为 TESTLAB 我有一个 Windows XP 工作站 它是
  • 将 HttpApi 与 I/O 完成端口结合使用

    我刚刚偶然发现了微软的HTTP 服务器 API http msdn microsoft com en us library aa364510 28v vs 85 29 aspx 简介中写道 HTTP 服务器 API 使应用程序能够通过 HT
  • 尝试读取转储时“无法加载符号”

    我的一个应用程序有时会在 Win XP 计算机上导致 BSOD 为了了解更多信息 我加载了生成的 dmp 文件 来自 C Windows Minidump 但在执行此操作时在大部分读数中收到此消息 Symbols can not be lo
  • win32 API 和 .NET 框架之间的选择

    我必须开发一个适用于 Windows 的应用程序 该应用程序将能够通过网络摄像头识别手势来控制鼠标 我将使用 vc 2008 进行开发 但我很困惑是使用 NET 框架还是核心 win32 API 性能对于我的应用程序非常重要 根据 Ivor
  • SC创建binpath错误

    我正在尝试在 PowerShell 中运行以下命令 sc create StrongSwan binpath C Users Kanishk Desktop Strong Strong stronswan strongswan 5 6 3
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 将 Metro 应用程序固定到任务栏 Windows 10 Powershell

    以下代码将固定 Metro 应用程序以在给定 AUMID 的情况下启动 如果你改变 match Pin To Start 不幸的是 将匹配更改为 固定到任务栏 不起作用 这里发生了什么 function Pin Taskbar param
  • 如何在 JavaScript 中检查未定义的变量

    我想检查变量是否已定义 例如 以下内容会引发未定义的错误 alert x 我怎样才能捕获这个错误 在 JavaScript 中 null是一个对象 不存在的事物还有另一种价值 undefined DOM 返回null对于几乎所有无法在文档中
  • 批量设置命令的输出和错误以分隔变量

    在Windows 7批处理 cmd exe命令行 中 我试图将命令的标准输出 stdout 和标准错误 stderr 重定向到单独的变量 因此第一个变量设置为输出 第二个变量设置为输出 变量设置为错误 如果有 而不使用任何临时文件 我已经尝
  • 使用 CreateRestrictedToken(LUA_TOKEN) 从提升的进程创建低/中进程

    我正在尝试从提升的进程创建中或低完整性进程 我知道还有其他类似的问题 但它们主要关注使用资源管理器或任务计划程序等解决方法 我想坚持使用CreateRestrictedToken CreateProcessAsUser 我认为一定可以以某种
  • 创建具有动态更新变量的数组

    我有一些 PHP 变量 它们的名称直接链接到它们包含的函数 是否有办法自动创建这些变量 以便我可以使用所有变量 00 200 这就是我现在正在做的事情 regdays00 is user reg matured 00 regdays02 i
  • 在 powershell 脚本中以不同用户身份本地运行代码块

    这是非常简单的事情 但我就是无法让任何东西发挥作用 我想在特定用户下的 powershell 脚本中运行块代码 关键字是locally我正在使用 powershell 2 0 Invoke Command 似乎需要远程主机 我运行以下命令
  • 我如何移动粘性/捕捉 wpf 窗口

    当我移动 主 窗口时 我想移动两个或更多粘性窗口 我想做这样的事情 private void MainWindow PreviewMouseMove object sender MouseEventArgs e if e LeftButto
  • Windows 上的 Node.js 和 Express

    今晚 我决定尝试在我的 Windows 7 计算机上使用 Express 构建一个简单的 Node js 应用程序 安装过程还算顺利 但 Express 拒绝配合 以下是我已采取的步骤 使用以下位置提供的 MSI 安装 Node jshtt
  • 在 wampserver 2.2 上安装 php_imagick.dll PHP 扩展

    我使用的是 32 位操作系统的 Windows 7 我安装了 ImageMagick 6 8 7 Q16Link https www imagemagick org script download php windows我能够从命令行 转换
  • subprocess.Popen('start') 失败

    在 python 中运行此命令将导致 WindowsError 指出找不到指定的文件 FAILS import subprocess subprocess Popen start notepad exe 在命令窗口中 它可以工作 start
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 哪个版本的 Miniconda 具有适用于 Windows 64 位的 Python 3.6?

    我正在开发一个需要这些深度学习库的项目 keras 和 tensorflow 不幸的是 这些不适用于 Python 3 7 有人可以告诉我一个带有 Python 3 6 的 Miniconda 版本 适用于 Windows 64 位 吗 我

随机推荐

  • HTML CSS自动调整高度

    我试图通过使用 CSS LESS 可视化来显示出港和入境航班 问题是 当出境航班比入境航班有更多的机场变更时 线路将保持在第一个航班的水平 我希望根据最长的路线动态调整线路高度 您能帮我弄清楚如何达到所需的结果吗 UPDATE 准备好了Pl
  • 如何创建可重定位的应用程序

    希望可以有人帮帮我 我有一些用 python 编写的东西 这使用了很多库 因此 我使用 virtualenv 创建了一个虚拟环境 并复制了该环境中需要的每个文件 然后我使用 Platypus 创建了一个 app 当然 该应用程序无法正常工作
  • 网络浏览器搜索是如何实现的?

    我想在桌面应用程序中实现java搜索和突出显示multiple中的短语html文件 就像在网络浏览器中完成的那样 所以html 标签 内 lt and gt 被忽略但有些标签像 b 没有被忽视 搜索示例时each table在文本中 eac
  • 引用 unique_ptr 的向量

    我有一个收藏unique ptrs 在这里 我想取出其中一些并将它们返回给调用者 调用者只需要读取内容 所以我想使用常量引用 但我不知道如何做到这一点unique ptrs 这是我用来使用原始指针执行此操作的一些代码 class entry
  • 从用户处获取字符输入时出现 IndexOutOfBoundsException

    在第15行ch s1 charAt 0 为什么 ch 没有得到 s1 的第 0 个字 即运算符 我尝试过不使用 try catch 方法 但错误与异常有关 现在没有例外 没有错误 但程序不要求操作员并在输入后直接 第一个和第二个值 它显示异
  • PostgreSQL 将列从 inet 转换为文本

    我想更改列的类型inet to text 所以 我执行 ALTER TABLE table ALTER COLUMN col TYPE text 但后来我发现所有值都添加了掩码 例如 192 168 100 141 gt 192 168 1
  • GCM BroadcastReceiver setResultCode 使用

    我正在使用 Android 开发人员提供的 GCM 示例 但无法理解其用途 setResultCode Activity Result OK 哪个组件接收此消息 谁在调用它并接收它 这是例子 public class GcmBroadcas
  • XAML Horizo​​ntalAlignment 属性没有执行我想要的操作

    xaml 代码 在网格内
  • 为遮罩层添加边框

    我正在尝试制作自定义形状UIButton使用遮罩层 我成功了 extension UIButton func mask withImage image UIImage frame CGRect let maskingLayer CAShap
  • Microsoft.Owin.StaticFiles 在控制台主机中工作,但我在文件请求的 IIS 中收到 404

    我在 Owin 管道中设置了 Microsoft Owin FileServer v2 1 0 并且使用 EnableDirectoryBrowsing true 设置 FileServerOptions 非常适合在我的控制台主机和 iis
  • 两个类互相引用

    假设有两个类 它们相互需要 容器 and item 班上容器创建类的实例item 类的每个实例item持有类的一个实例容器并且只需要调用该方法按项目调用的方法班级的容器 Class 容器需要查看类的所有字段item 问题是前向声明 我想在其
  • 为什么定义数组之外的第一个元素默认为零?

    我正在准备 C 入门课程的期末考试 我们的教授给了我们这个问题来练习 解释为什么代码会产生以下输出 120 200 16 0 using namespace std int main int x 120 200 16 for int i 0
  • 如何使 Bootstrap 工具提示在 SVG 上居中?

    我想将工具提示向右移动几个像素 因此箭头位于光标所在单元格的中心 当前 它位于 0 0 即左上角 这是我的代码 rect cell tooltip title hola placement top and an image 理想情况下 我想
  • 如何在异常发生之前检测到导致异常的情况?

    我没有运气这个问题 https stackoverflow com questions 553331 detecting unusable pooled sqlconnections所以我制作了这个尽可能简单的测试用例来演示这个问题 在下面
  • WPF 将 My.Settings 集合绑定到组合框项目

    我对 WPF 非常陌生 并且仍在尝试了解 XAML 中的绑定 我想用 my settings 中字符串集合的值填充组合框 我可以用这样的代码来做到这一点 Me ComboBox1 ItemsSource My Settings MyColl
  • 水晶报表将 DateTime 转换为字符串 为该函数提供了太多参数

    我在水晶报告中有一个简单的公式 如下所示 iif isnull employ createdDate ToText employ createdDate dd MMM yyyy The employ createdDate 格式如下 02
  • luis.ai 与 api.ai 与 wit.ai 之间的比较?

    有谁知道三者之间的具体区别和功能 或者作为开发人员是否有更多功能 更灵活地使用 wit ai https wit ai vs 对话流 https api ai vs luis ai https www luis ai wit ai vs a
  • 在 cartopy 轴之间绘制线

    我绘制了两组重叠的轴 一组是另一组的缩放版本 我想在缩放轴的角和它在较大轴上表示的矩形的角之间绘制线 然而 我画的线稍微偏离了位置 我试图将其浓缩为一个简单的示例 import cartopy crs as ccrs import matp
  • 适用于多种情况的 Python 设计模式

    编写具有多种条件的验证函数的推荐结构是什么 请参阅这两个示例 第一个看起来很难看 第二个不太常见 也许是因为assert通常用于排除意外行为 有更好的选择吗 def validate val if cond1 val return Fals
  • Windows环境变量嵌套的限制?

    那么 Windows 中环境变量的嵌套深度是否有限制呢 我做了很多开发工作 并且正在尝试设置我的开发环境变量 其中很多都是相互嵌套的 即 GLEW THIRD PARTY ROOT GLEW GLEW 1 5 5 GLEW glew 1 5