Board logo

标题: 用于终止进程的批处理发生错误 [打印本页]

作者: qinbuer     时间: 2007-6-6 15:06    标题: 用于终止进程的批处理发生错误
在下初学批处理几个星期了,似懂非懂,做了几个例子都以失败告终,真有点心灰意冷。
以下是其中一个用于终止进程的例子,请高手帮忙指正,最好能按照在下的思路给出一个规范的例子,在此谢过。

@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

作者: huzixuan     时间: 2007-6-6 15:17

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

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

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

作者: qinbuer     时间: 2007-6-6 15:21
按照楼上的测试,还是出现错误,提示:无效 GET 表达式。

作者: zerocq     时间: 2007-6-6 15:30
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 ]

作者: qinbuer     时间: 2007-6-6 15:42
多谢两位指教,又学了点东西 :)

作者: jiangnan110     时间: 2007-6-8 12:39
可惜没有过滤~~~虽然我是学了几天,不过经常在网上搜索资源,现在有所成就,希望新手也可以这样一来学习..