gpt4 book ai didi

perl - 使用 Win32::Env perl 模块,环境变量不会在 Windows 中永久设置

转载 作者:行者123 更新时间:2023-12-05 00:39:39 24 4
gpt4 key购买 nike

Win32::Env 模块用于临时设置环境变量。我需要永久设置,请帮助

请帮我设置为永久。因为我希望它在另一个 exe 中使用。

use Win32::Env;

SetEnv(ENV_USER, 'AUTO_EXCEL_EXPORT', 'TRUE');

通过这段代码,我可以在 Windows 中将环境变量设置为临时变量。当我检查该变量的 echo 命令时,它没有显示。因为它被设置为半永久值。

最佳答案

在 Windows 中分配/更改环境变量时,需要在新打开的窗口/应用程序看到更改之前通知资源管理器子系统发生更改。如果这没有发生,则需要重新启动才能让其他进程看到更改。

正如您在 SYNOPSIS 中看到的那样的 Win32::Env ,他们接到了一个电话 BroadcastEnv()执行上述通知任务。

查看模块代码后,作者正在注册表中设置变量,因此调用应该可以解决问题。但请注意,如果您在运行脚本时从 cmd 窗口运行程序,无论如何,您都必须关闭该窗口并打开一个新窗 Eloquent 能使更改生效。所有新窗口都应获得更新的环境。

例子:

use Win32::Env;

SetEnv(ENV_USER, 'AUTO_EXCEL_EXPORT', 'TRUE');

BroadcastEnv();

关于perl - 使用 Win32::Env perl 模块,环境变量不会在 Windows 中永久设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56377747/

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