当前位置 : 主页 > 网络编程 > lua >

Lua os.getenv不能在批处理文件中工作

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个小脚本来读取我的PATH并存储在一个文件中,我想安排每天运行. path = os.getenv("PATH")file_name = "C:\\temp.txt" file = io.open(file_name, "w")file:write(path)file:close() 如果我从命令行运行它可以工
我有一个小脚本来读取我的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

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

我有两个问题:

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

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

cmd /c C:\path\to\lua myfile.lua
网友评论