如何在没有UAC的情况下检查另一个管理应用程序

时间:2015-10-16 09:34:39

标签: batch-file

我一直在搞乱批处理文件,尝试启动一个程序(特别是一个改装的Skyrim游戏),但只有在应用程序Steam打开的情况下启动它。我走得那么远,它完美无瑕。但是,每次我这样做,它都会要求我获得UAC许可。我一般都不介意UAC,我更喜欢保持它,所以我打算为这个应用程序禁用它。

这是我目前在.bat文件中的内容 (是的,我知道它很混乱,我只是开始这种东西而且我在其他地方找到了大部分代码并且适合它对我有用的东西)

@echo off
tasklist /nh /fi "imagename eq Steam.exe" | find /i "Steam.exe" >nul && (
elevate "C:\program files (x86)\steam\steamapps\common\Skyrim\skse_loader.exe"
) || (
echo Steam
)
::pause>nul

请注意,这会使用Elevate工具。

现在,只有当Steam打开时,这才能完美地启动Skyrim。为了摆脱UAC提示,我按照this指南调整了我的情况。

@echo off
tasklist /nh /fi "imagename eq Steam.exe" | find /i "Steam.exe" >nul && (
elevate C:\Windows\System32\schtasks.exe /run /tn "Skyrim"
) || (
echo Steam
)
::pause>nul

它仍然只启动Skyrim,但它询问我是否要让计算机管理预定任务"作为UAC提示。我认为这是因为我使用了#34;提升"而不是"运行"。但是,将其改为运行根本不会发生任何事情。

很抱歉这个很长的问题,但我想让你清楚地知道发生了什么!感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:0)

你是否试过没有elevate,就像导游给你看的那样?

@echo off
tasklist /nh /fi "imagename eq Steam.exe" | find /i "Steam.exe" >nul && (
  schtasks.exe /run /tn "Skyrim"
) || ( echo Steam )
::pause>nul