我有一个分发到多台机器的软件包,包括一个将一些文件移动到目录中的批处理文件。其中一个被移动的文件是可执行文件(.exe)。一旦批处理文件第一次运行,这个exe将按计划运行,并相应地移动文件,它永远不会再次使用。
如果我右键单击.exe文件> Properties
> Compatibility
,Settings
下有一个选项可以管理员身份运行此程序。该应用程序仅在以管理员身份运行时才起作用,因此我希望每当批处理文件运行时都启用此设置。
有没有办法在批次中或通过CMD修改此设置?
我在搜索中继续发现的是如何以管理员身份运行cmd,或者如何向批处理添加runas命令,以便批处理本身作为管理员执行。由于批处理文件仅在安装时运行,而且从不再运行,我需要一种方法来设置exe本身的设置以管理员身份运行。
答案 0 :(得分:2)
根据this answer中提供的信息,您可以使用REG命令添加注册表项Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
的完整路径,如下所示:
一切都应该在一条线上,但为了清楚起见,我将每个论点放在一个单独的行上
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
/v "c:\full\path\to\your\exe\file.exe"
/t REG_SZ
/d "RUNASADMIN"
以上命令为所有用户/系统范围设置兼容性标志。如果您只想为当前用户设置它,请使用HKCU而不是HKLM。
请注意,在HKLM子树中设置值需要提升。
这是在Win7上测试的,但应该适用于Vista和Win8。