我有一个小脚本来读取我的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 FilesLua5.1lua" store_path.lua
我在这个问题的评论中读到它"不是一个进程环境变量,它是由shell提供的,所以它不会工作"。事实上,其他一些环境变量(如用户名)也可以正常工作。
我有两个问题:
- 为什么shell不能访问PATH?我想它会
制作环境的副本(所以只设置env变量将是一个问题)? - 用我可以添加的方式读取PATH的最佳方式是什么是调度器吗?
让批处理文件在shell中运行,这样您就可以获得shell变量:
cmd /c C:pathtolua myfile.lua