中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-18 21:44
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]帮助分析几行代码:同时关闭多个进程 查看 1,325 回复 3
楼 主 [已结]帮助分析几行代码:同时关闭多个进程 发表于 2008-10-21 16:43 ·  中国 黑龙江 大庆 联通
高级用户
★★
积分 547
发帖 261
注册 2006-04-15 16:50
UID 53887
状态 离线
看到了一段同时关闭多个进程的代码,如下:
set /p choice1=请输入要关闭的进程“映象名称”或“PID”
for /f "delims=" %%a in (%choice1%) do taskkill /f /t /im %%a>c:\temp1.txt
for /f "delims=" %%i in ('type c:\temp1.txt') do echo %%i

我的问题是如果我输入了两个映像:notepad.exe alg.exe
但是怎么说找不着notepad.exe,可它是活动的啊!为什么!

简单的使用taskkill /f /t /im %%a就可以,但只能一个一个的关,我希望能同时多关两个,请问问题在哪里?

───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"帮助分析几行代码!"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-10-22 at 09:54 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT -2 2008-10-22 09:50
2 发表于 2008-10-21 17:01 ·  中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
UID 75048
性别 男
状态 离线
%choice1%两边加上双引号

使用taskkill时,如多个进程,每个进程名称前都要加 /im
set /p choice1=请输入要关闭的进程“映象名称”或“PID”
set choice1=%choice1: = /im %
taskkill /f /t /im %choice1%
pause


[ Last edited by dikex on 2008-10-21 at 17:09 ]
正在潜水修练的批处理小白
3 发表于 2008-10-21 17:14 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
UID 112561
性别 男
状态 离线
Originally posted by tempuser at 2008-10-21 16:43:
看到了一段同时关闭多个进程的代码,如下:
set /p choice1=请输入要关闭的进程“映象名称”或“PID”
for /f "delims=" %%a in (%choice1%) do taskkill /f /t ...


直接用For就好了.
for %%a in (%choice1%) do taskkill /f /t /im %%a>E:\cn-dos\examp\temp1.txt
4 发表于 2008-10-22 07:28 ·  中国 黑龙江 大庆 大庆中基石油通信建设有限公司
高级用户
★★
积分 547
发帖 261
注册 2006-04-15 16:50
UID 53887
状态 离线
谢谢,原来是空格的问题.
成功的代码:
@echo off
set /p choice1=请输入要关闭的进程“映象名称”或“PID”
set choice1="%choice1: = /im %"
taskkill /f /t /im "%choice1%"
pause
论坛跳转: