【发布时间】:2022-01-22 06:00:04
【问题描述】:
我正在读取并修改位于 Windows 程序文件文件夹中的文件中的一些数据。 因此,该文件没有写入权限。所以我在尝试写入时收到错误。
当手动授予包含文件的文件夹写入权限时,脚本将起作用。
是否可以在 Lua 脚本中修改文件夹权限,或写入文件而不管其权限如何?还是只能从文件资源管理器手动完成?
这是我当前正在重写 inputFile 的代码部分:
k=0
updatefile = io.open(inputFile,"w")
for k=1,i do
updatefile:write(modfilecontent[k] .. '\n') --This is where I'm blocked by permissions
end
updatefile:close()
此外,如果有可能的解决方案,并且我将此脚本加载到没有管理员权限的其他人的计算机上,该解决方案是否仍然有效?
编辑: Piglet 的解决方案将使用 os.execute 方法来更改权限。 只要使用插件的软件在第一次设置权限时以管理员身份运行。从此您不再需要以管理员身份运行。
下面是我需要添加到程序开头的代码,当然要减去括号
os.execute('icacls "C:\\Program Files\\[software name]\\[folder name]" /grant Everyone:(OI)(CI)F /T')
【问题讨论】:
标签: windows lua permissions write