以管理员身份运行BAT文件(无快捷方式)
以管理员身份运行BAT文件(无快捷方式)
我正在尝试在Win7上创建一个.bat文件来终止特定的程序。
我使用的命令是:
taskkill /f /im "LCore.exe"
似乎需要以管理员身份运行.bat文件才能起作用,所以我创建了一个快捷方式,按照另一个帖子中的指示自动以管理员模式运行它(如何编写一个.bat文件以始终以管理员模式运行?)。
然而,当使用Microsoft鼠标和键盘中心将我的额外按键映射到运行该快捷方式时,它会自动运行快捷方式的目标而不是快捷方式本身,而后者没有所需的管理员权限(选择映射快捷方式时,它会自动更改路径为目标路径,手动设置路径会返回“未找到”错误)。
所以基本上,我想知道是否有另一种方式可以自动以提升的权限运行.bat文件,而不涉及创建一个快捷方式。
在Windows 7中,您无需编写额外的脚本,因为它内置了“PowerShell”工具。尝试以下方法:
powershell.exe start-process taskkill.exe -verb runas -argumentlist '/f /im "LCore.exe"'
这段代码的目的是以管理员身份运行一个批处理文件(BAT文件),而不需要创建快捷方式。在Windows 7中,您可以使用内置的PowerShell工具来实现这一点。通过使用`start-process`命令,我们可以启动一个新的进程,并使用`-verb runas`参数指定以管理员身份运行。然后,我们使用`-argumentlist`参数来传递要运行的命令`taskkill.exe`以及其参数`/f /im "LCore.exe"`。这将以管理员身份运行`taskkill.exe`命令,并终止名为"LCore.exe"的进程。
如果您的操作系统是Windows 7,您可以尝试运行上述代码来以管理员身份运行批处理文件。这种方法更加简便,不需要编写额外的脚本。
原因:这段代码用于检查当前的批处理文件是否已经以管理员权限运行。它通过运行OPENFILES
命令来检查批处理文件是否具有管理员权限。如果OPENFILES
命令运行没有任何错误,即%ERRORLEVEL%
为0,那么说明批处理文件已经以管理员权限运行,程序将跳转到:OK
标签执行后续代码。如果%ERRORLEVEL%
不等于0,说明批处理文件没有管理员权限。在这种情况下,程序会自动生成一个临时的VBScript文件来以管理员身份启动批处理文件,然后删除该VBScript文件。
解决方法:通过自动生成临时的VBScript文件来以管理员身份启动批处理文件。
文章:
抱歉,我是新手! 🙂
首先,OPENFILES
命令检查您是否以管理员权限运行程序,就像任何需要管理员权限的命令一样。如果在命令之后输入>NUL 2>&1
,CMD将隐藏来自该命令的任何消息并重定向错误。因此,如果您在运行OPENFILES
命令时遇到问题,唯一可能发生的错误是批处理文件没有管理员权限。如果%ERRORLEVEL%
为0(运行该命令时没有错误),则说明您已经以管理员身份启动了应用程序,因此它将跳转到:OK
标签。但是,如果%ERRORLEVEL%
不等于0(存在问题),则说明应用程序没有管理员权限。因此,它将自动生成一个临时的VBScript文件来以管理员身份启动批处理文件,然后启动该文件,并删除它。
标签"YouAreAdmin"在哪里?