我发现一个命令可以让我在cmd中杀死某个“不可杀死”的进程:
C:\>FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq Microsoft.ECApp.exe"`) DO tskill %i
该进程被终止,因为我可以在屏幕上看到它。但是当我将相同的命令放入 .bat 文件中时,它不起作用。当我以管理员权限在 cmd 中运行它时,它显示:
Access denied.
i was unexpected at this time.
我希望在启动时使用自动启动中的 .bat 文件杀死此进程。
听起来您正在尝试运行命令来从批处理文件中终止进程,但在尝试自动化它时遇到了访问权限和语法问题。
以下是解决这些问题的分步指南:
在批处理文件中运行命令时,需要使用双百分号 (
%%
) 而不是单个百分号 (%
)。此外,在批处理文件内的 usebackq
命令中使用反引号需要 FOR
选项。
这是更正后的批处理文件代码:
@echo off
FOR /F "usebackq tokens=2 skip=2" %%i IN (`TASKLIST /FI "IMAGENAME eq Microsoft.ECApp.exe"`) DO tskill %%i
由于您遇到“访问被拒绝”错误,因此需要使用提升的权限运行脚本。确保批处理文件本身设置为以管理员身份运行:
要确保批处理文件在启动时以管理权限运行,请按照下列步骤操作:
创建批处理文件的快捷方式:
设置快捷方式以管理员身份运行:
将快捷方式放入启动文件夹中:
Win + R
,输入 shell:startup
,然后按 Enter。此设置将确保每次计算机启动时批处理文件都以必要的权限运行。如果您仍然遇到问题,请验证特定进程名称并确保它不受其他安全软件的保护。