中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 20:48
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用于终止进程的批处理发生错误 查看 630 回复 5
楼 主 用于终止进程的批处理发生错误 发表于 2007-06-06 15:06 ·  中国 广东 佛山 电信
高级用户
★★
我思故我在
积分 512
发帖 228
注册 2007-01-21 10:31
19年会员
UID 77225
性别 男
状态 离线
在下初学批处理几个星期了,似懂非懂,做了几个例子都以失败告终,真有点心灰意冷。
以下是其中一个用于终止进程的例子,请高手帮忙指正,最好能按照在下的思路给出一个规范的例子,在此谢过。

@echo off
color 0b & title Kill The Progress %date%
MODE CON: COLS=100 LINES=40
:loop
cls
for /f "skip=2 tokens=1-3" %%a in ('wmic process get Name,ExecutablePath,Handle | more') do echo %%c-%%b-%%a
echo.
set i=
set /p i=请输入您要终止的进程PID —[输入"N"退出]:%i%
if /i "%i%"=="n" exit
if "%i%"==" " goto loop
if not defined i (goto loop) else ntsd -c q -p %i% & goto loop
我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2 发表于 2007-06-06 15:17 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线

in ('wmic process get Name,ExecutablePath,Handle | more')

in 括号里的特殊符号应用转义符 ^,转义后再使用.

in ('wmic process get Name,ExecutablePath,Handle ^| more')
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
3 发表于 2007-06-06 15:21 ·  中国 广东 佛山 电信
高级用户
★★
我思故我在
积分 512
发帖 228
注册 2007-01-21 10:31
19年会员
UID 77225
性别 男
状态 离线
按照楼上的测试,还是出现错误,提示:无效 GET 表达式。
我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
4 发表于 2007-06-06 15:30 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
for /f "skip=2 tokens=1-3" %%a in ('wmic process get name^,ExecutablePath^,Handle') do @echo %%c %%b

%%a&&echo ...........................................

这样比较好看清一点,你那种密密麻麻的

[ Last edited by zerocq on 2007-6-6 at 03:34 PM ]
5 发表于 2007-06-06 15:42 ·  中国 广东 佛山 电信
高级用户
★★
我思故我在
积分 512
发帖 228
注册 2007-01-21 10:31
19年会员
UID 77225
性别 男
状态 离线
多谢两位指教,又学了点东西 :)
我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
6 发表于 2007-06-08 12:39 ·  中国 广东 肇庆 电信
初级用户
积分 42
发帖 19
注册 2007-06-08 11:32
19年会员
UID 90653
性别 男
状态 离线
可惜没有过滤~~~虽然我是学了几天,不过经常在网上搜索资源,现在有所成就,希望新手也可以这样一来学习..
论坛跳转: