批处理:如果没有输入,我怎么跳过它?

时间:2015-01-01 12:54:55

标签: batch-file

所以在这段代码中

:chat
cls
findstr /v "sdlkfjsdlkfs98dfu9sd8f6ysd954" \\Cap\FileServer\Recive\chatroom.chatfile
echo.
echo ----------------------------------------------------------
echo.
color 0b

goto chat1

:chat1
ping localhost -n 3 >nul
set /p text=Text:
echo %name% : %text% >>\\Cap\FileServer\Recive\chatroom.chatfile
goto chat

所以我想知道我是否可以让它不等文本:如果没有输入,继续刷新聊天文件。

1 个答案:

答案 0 :(得分:1)

一旦提示用户,您无法使用Batch执行此操作,执行将等待直到收到输入。

也许作为一种解决方法,您可以在收到空输入时“刷新”:

:chat
cls
findstr /v "sdlkfjsdlkfs98dfu9sd8f6ysd954" \\Cap\FileServer\Recive\chatroom.chatfile
echo.
echo ----------------------------------------------------------
echo.
color 0b

goto chat1

:chat1
REM Reset any existing text value.
set "text="

ping localhost -n 3 >nul
set /p text=Text:

REM Check for input.
IF NOT "%text%"=="" (
    REM Input was given. Write it to the file.
    echo %name% : %text% >>\\Cap\FileServer\Recive\chatroom.chatfile
)

goto chat

所以在上面的例子中,如果用户只是在提示符下按Enter键,则不会将任何内容写入聊天文件,循环将重新开始。