.bat文件中的区分大小写的变量

时间:2013-06-06 16:32:00

标签: variables batch-file cmd case case-sensitive

我有一个非常简单的批处理文件,有一个非常烦人的问题。我试图通过其TASKKILL使用它的图像名称(/ IM)来停止进程。问题是我有两个图像名称是相同的唯一区别是一个是capalized而另一个不是。我只希望全部小写进程被杀死。这可能吗?任何帮助尽快得到赞赏。感谢。

1 个答案:

答案 0 :(得分:3)

@ECHO OFF
SETLOCAL
FOR /f "tokens=2" %%i IN (
 ' tasklist ^| find "ccc.exe" '
 ) DO SET pid=%%i
IF DEFINED pid ECHO TASKKILL /pid %pid%

此批次应该按照您的要求进行。我刚刚使用ccc作为测试 - ccc.exe不存在(没有输出)CCC.exe存在 - 当更改为大写时显示CCC.exe的PID。

如果可执行文件名称包含空格,逗号,分号等,则需要将tokens=更改为3或甚至更多。需要知道准确的名称以便为您提供准确的详细信息。

只会显示它建议杀死的PID。验证后删除ECHO以激活。

tasklist /fi "imagename eq whatever"

应为您列出目标PID。