批处理:没有输入怎么跳过呢?

Batch: How can i skip it if there is no input?

所以在这段代码中

: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

所以我想知道是否可以让它不等待 Text: 并在没有输入时继续刷新聊天文件。

您不能使用 Batch 执行此操作,因为一旦您提示用户,执行将等到收到输入。

也许作为解决方法,您可以 "refresh" 在收到空输入时:

: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,则不会向聊天文件写入任何内容,循环将重新开始。