1

只是写了一个简单的批处理文件来杀死给定的进程。

@ECHO OFF
set /p ProcName=Enter process name:
taskkill /IM "%ProcName%" /t /f

我把它保存为taskkill.bat. 我双击这个 bat 文件,出现一个命令提示符窗口并询问Enter process name:我每次给出的任何进程名称都询问相同的消息并且根本没有执行taskkill命令。

现在在一个cmd 窗口中,我拖动批处理文件,并像往常一样询问Enter process name:我提供了进程名称,它成功地终止了该进程。

第一次发生了什么?为什么它第二次执行?

4

2 回答 2

2

有人注意到批处理文件名与可执行文件相同。

taskkill.bat

那是行不通的...

于 2013-04-26T03:38:35.467 回答
1

您是否第二次以管理员权限执行脚本?taskkill 需要管理员权限才能执行 - 否则它将打印拒绝访问(您可以在脚本末尾设置暂停以查看会发生什么)。要在不需要特殊权限的情况下终止进程,您可以使用 tskill


确切地 !但是当我在命令提示符中拖动批处理文件时,该命令提示符在没有管理员权限的情况下运行?

这是一个很棒的技巧!- 刚刚测试过:-)。可能它应该被视为一个安全漏洞

于 2013-04-25T07:42:08.933 回答