bat 批处理命令语法不正确。求高手。

内容如下:@echooffmodeconcols=35lines=10echo方法1:输入进程PID方法2:输入进程名set/pff=请选择(1or2):if%ff%EQ... 内容如下:

@echo off
mode con cols=35 lines=10
echo 方法1:输入进程PID 方法2:输入进程名
set /p ff=请选择( 1 or 2 ) :
if %ff% EQU 1
set /p pid=请输入进程的PID :
echo
ntsd /c q /p %pid%
else
if %ff% EQU 2
set /p mz=请输入进程名 :
echo
ntsd /c q /pn %mz%
else
echo 请按任意键关闭窗口
pause > nul
exit
展开
 我来答
百度网友1153044d1
推荐于2017-10-03 · TA获得超过183个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:260万
展开全部

如下:

@echo off
mode con cols=35 lines=10
echo 方法1:输入进程PID 方法2:输入进程名
set /p ff=请选择( 1 or 2 ) :
if %ff% EQU 1 (
set /p pid=请输入进程的PID :
echo
ntsd /c q /p %pid%
) else (
if %ff% EQU 2 (
set /p mz=请输入进程名 :
echo
ntsd /c q /pn %mz%
) else (
echo 请按任意键关闭窗口
pause > nul
)
)
exit

 

或者:

@echo off
mode con cols=35 lines=10
echo 方法1:输入进程PID 方法2:输入进程名
set /p ff=请选择( 1 or 2 ) :
if %ff% EQU 1 (
set /p pid=请输入进程的PID :
echo
ntsd /c q /p %pid%
goto a

if %ff% EQU 2 (
set /p mz=请输入进程名 :
echo
ntsd /c q /pn %mz%
goto a
)
echo 请按任意键关闭窗口
pause > nul
:a
exit
追问
是因为括号麼?讲解一下,本人第一次写bat。谢谢
追答

是的,你可以看下语法,在cmd里输入if /?

ELSE 子句必须出现在同一行上的 IF 之后。例如:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )

由于 del 命令需要用新的一行终止,因此以下子句不会有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:

    IF EXIST filename. del filename.
    ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

    IF EXIST filename. (del filename.) ELSE echo filename. missing
mapZhan昕晨i
2014-06-05 · TA获得超过371个赞
知道小有建树答主
回答量:986
采纳率:0%
帮助的人:513万
展开全部
写了一个批处理程序,倒是可以运行,可是由于我在批处理里写的命令比较长,windows在执行的时候,竟然原原本本把我的命令输出来了,导致我程序的输出被淹没在长长的命令中,一点都不直观,我想问下可以在执行时不输出命令吗?
比如:
set "XX_HOME=D:\xx"
在执行的时候能不显示吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式