无法写入由AutoHotKey脚本创建的文件

时间:2019-06-15 05:55:43

标签: autohotkey

我有一台装有Win7 64的Dell PC,使用的是我认为是AutoHotKey的最新版本。

我用AutoHotKey编写了一个Installer应用程序,以创建两个带有多个子目录的目录,然后将exe程序和多个数据文件安装到这些目录中。该应用程序将安装到现有的C:\ Program Files和C:\ Program Data目录中。

Installer App将创建子目录C:\ Program Files \ DSOSort,然后安装文件DSOSort.exe。然后,安装程序App将创建子目录C:\ Program Data \ DSOSort,并安装带有所有关联文本数据文件的多个其他子目录。

我使用了Installation App中的FileCreateDir和FileInstall指令来创建目录并安装文件。

Installer App和exe程序中的所有内容均应正常运行,只是exe不会对新创建的C:\ Program Data \ DSOSort目录中的文本数据文件进行任何更改。我必须使用“属性”打开目录并允许用户写入。完成后,exe将正确更改文本数据文件中的数据,一切正常。

如果我将Installer App更改为创建目录C:\ DSOSort,则将所有子目录和数据文件安装在该目录中,而不是安装到C:\ Program Data \ DSOSort中,exe可以将其写入文本文件。我不必使用“属性”更改任何权限。

我尝试使用在C:\ Documents and Settings以及C:\ Users中都找到的C:\ Program Data \ DSOSort目录的各种副本。 exe可以读取它们,但不能写入。

我仅对新安装的目录存在此问题,正如我之前所说的,可以使用“属性”更正此问题。

该exe程序是为具有足够知识的人编写的,可以运行Installation App,但不了解“属性”或对目录进行更改。

我可以只将数据文件放在C:\ DSOSort目录中,但希望将它们放在C:\ Program Data \ DSOSort目录中。

在安装数据文件之前,AutoHotKey是否可以检查用户权限并在必要时进行更改?

我的PC是否运行正常?是否应该在不允许写入文件的情况下创建目录?

1 个答案:

答案 0 :(得分:1)

其中某些目录(例如“程序文件”)需要管理员权限才能进行修改。我相信这就是您正在经历的原因。让您的应用以管理员身份运行,应该没问题。可以在属性中找到EXE的设置。

A_IsAdmin内置变量返回当前用户是否具有管理员权限。

image description