我有一个小脚本来读取我的 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。批处理文件:
"C:\Program Files\Lua\5.1\lua" store_path.lua
我在对这个问题的评论中读到它“不是进程环境变量,它是由 shell 提供的,所以它不起作用”。事实上,其他一些环境变量(如用户名)工作正常。
我的两个问题是:
- 为什么 shell 无法访问 PATH?我认为它会
复制环境(所以只有设置环境变量会有问题)? - 以我可以将其添加到调度程序的方式读取 PATH 的最佳方法是什么?