gpt4 book ai didi

windows - 在 Windows 上从浏览器运行批处理文件,但不继承浏览器的环境变量

转载 作者:可可西里 更新时间:2023-11-01 09:21:02 26 4
gpt4 key购买 nike

我正在尝试编写一个 Windows 批处理文件,为我公司的内部用户启动一个安装程序。我们的内部网上有指向批处理文件的链接。如果您单击该链接(至少在我必须支持的 IE9 上),它会询问您是要运行还是保存文件。大多数用户单击运行,批处理文件作为 IE 的子进程执行,继承其环境变量。这就是我的问题出现的地方。

如果浏览器已打开一段时间,则可能是在浏览器启动后在用户的 PC 上设置了(用户或系统级)环境变量,因此批处理文件不会'看到那个变量,我需要它。

我想找到一种方法来确保批处理文件始终在全新的环境中运行。

这行得通

rem bootstrap batch file
explorer the_real_batch_file.bat

因为 Explorer.exe 会提醒用户和系统环境变量的变化,但这不会

rem bootstrap batch file
explorer the_real_batch_file.bat some_param

some_param 混淆了 Windows 资源管理器(它只是启动了一个新的 Windows 资源管理器窗口)。我需要能够将参数传递给“真正的”批处理文件,所以这是一个阻碍。

有人能找到解决这个问题的方法吗?

最佳答案

对不起,我是新来的,我一辈子都不知道如何对上面的问题添加评论......

无论哪种方式,explorer.exe 都不处理批处理文件的执行,cmd/c 处理。

尝试做

cmd /c "batchfile.bat argument"

另一种方法是找出您的软件中调用了哪些环境变量,并批量调用它们以确保它们正确,否则失败。浏览器

IF "%ENVIORMENTALVARIABLE%" NEQ "WhatitShouldBe" (goto :fail) else goto continue
:fail
echo this failed <insert exitcode here>
:continue

关于windows - 在 Windows 上从浏览器运行批处理文件,但不继承浏览器的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13312923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com