Lua的os.getenv为什么在批处理文件中无法正常工作?

2026-04-01 19:471阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计315个文字,预计阅读时间需要2分钟。

Lua的os.getenv为什么在批处理文件中无法正常工作?

我编写了一个小脚本,用于读取我的PATH环境变量并将其存储在一个文件中。每天运行一次,以便于使用。以下是代码:

pythonpath=os.getenv(PATH)file_name=C:\\temp.txtwith open(file_name, w) as file: file.write(path)

如果从命令行运行它,就可以方便地使用PATH变量。

我有一个小脚本来读取我的PATH并存储在一个文件中,我想安排每天运行.

path = os.getenv("PATH") file_name = "C:\\temp.txt" file = io.open(file_name, "w") file:write(path) file:close()

如果我从命令行运行它可以工作,但是当我创建批处理文件(我在Windows XP上工作)并双击它时 – os.getenv(“PATH”)返回false.批处理文件:

Lua的os.getenv为什么在批处理文件中无法正常工作?

"C:\Program Files\Lua\5.1\lua" store_path.lua

我在this question的评论中读到它“不是一个过程环境变量,它是由shell提供的,因此它不起作用”.事实上,其他一些env变量(如用户名)工作正常.

我有两个问题:

>为什么shell无法访问PATH?我以为会的
制作环境的副本(所以只设置env变量会有问题)?
>以我可以添加的方式读取PATH的最佳方法是什么
它给调度程序?

让批处理文件从shell运行它,以便获得shell变量:

cmd /c C:\path\to\lua myfile.lua

本文共计315个文字,预计阅读时间需要2分钟。

Lua的os.getenv为什么在批处理文件中无法正常工作?

我编写了一个小脚本,用于读取我的PATH环境变量并将其存储在一个文件中。每天运行一次,以便于使用。以下是代码:

pythonpath=os.getenv(PATH)file_name=C:\\temp.txtwith open(file_name, w) as file: file.write(path)

如果从命令行运行它,就可以方便地使用PATH变量。

我有一个小脚本来读取我的PATH并存储在一个文件中,我想安排每天运行.

path = os.getenv("PATH") file_name = "C:\\temp.txt" file = io.open(file_name, "w") file:write(path) file:close()

如果我从命令行运行它可以工作,但是当我创建批处理文件(我在Windows XP上工作)并双击它时 – os.getenv(“PATH”)返回false.批处理文件:

Lua的os.getenv为什么在批处理文件中无法正常工作?

"C:\Program Files\Lua\5.1\lua" store_path.lua

我在this question的评论中读到它“不是一个过程环境变量,它是由shell提供的,因此它不起作用”.事实上,其他一些env变量(如用户名)工作正常.

我有两个问题:

>为什么shell无法访问PATH?我以为会的
制作环境的副本(所以只设置env变量会有问题)?
>以我可以添加的方式读取PATH的最佳方法是什么
它给调度程序?

让批处理文件从shell运行它,以便获得shell变量:

cmd /c C:\path\to\lua myfile.lua