如何用.bat文件杀死进程?

问题描述 投票:0回答:1

我发现一个命令可以让我在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 文件杀死此进程。

batch-file kill-process
1个回答
0
投票

听起来您正在尝试运行命令来从批处理文件中终止进程,但在尝试自动化它时遇到了访问权限和语法问题。

以下是解决这些问题的分步指南:

1. 更正批处理文件语法

在批处理文件中运行命令时,需要使用双百分号 (

%%
) 而不是单个百分号 (
%
)。此外,在批处理文件内的
usebackq
命令中使用反引号需要
FOR
选项。

这是更正后的批处理文件代码:

@echo off
FOR /F "usebackq tokens=2 skip=2" %%i IN (`TASKLIST /FI "IMAGENAME eq Microsoft.ECApp.exe"`) DO tskill %%i

2. 使用管理员权限运行批处理文件

由于您遇到“访问被拒绝”错误,因此需要使用提升的权限运行脚本。确保批处理文件本身设置为以管理员身份运行:

  • 右键单击批处理文件并选择“以管理员身份运行”

3. 设置批处理文件以在启动时运行

要确保批处理文件在启动时以管理权限运行,请按照下列步骤操作:

  1. 创建批处理文件的快捷方式:

    • 右键单击批处理文件并选择“创建快捷方式”
  2. 设置快捷方式以管理员身份运行:

    • 右键单击快捷方式并选择“属性”
    • 转到“快捷方式”选项卡,然后单击“高级”
    • 选中复选框“以管理员身份运行”,然后单击“确定”
  3. 将快捷方式放入启动文件夹中:

    • Win + R
      ,输入
      shell:startup
      ,然后按 Enter
    • 将您创建的快捷方式移动或复制到此启动文件夹中。

4. 验证权限和执行

  • 确保批处理文件和快捷方式具有适当的权限。
  • 仔细检查快捷方式中批处理文件的路径是否正确。

此设置将确保每次计算机启动时批处理文件都以必要的权限运行。如果您仍然遇到问题,请验证特定进程名称并确保它不受其他安全软件的保护。

© www.soinside.com 2019 - 2024. All rights reserved.