加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 21:44:14 所属栏目:大数据 来源:网络整理
导读:我有一个小脚本来读取我的PATH并存储在一个文件中,我想安排每天运行. path = os.getenv("PATH")file_name = "C:temp.txt" file = io.open(file_name,"w")file:write(path)file:close() 如果我从命令行运行它可以工作,但是当我创建批处理文件(我在Windows X
我有一个小脚本来读取我的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

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

我有两个问题:

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

解决方法

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

cmd /c C:pathtolua myfile.lua

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读