批处理:没有输入怎么跳过呢?
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,则不会向聊天文件写入任何内容,循环将重新开始。
所以在这段代码中
: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,则不会向聊天文件写入任何内容,循环将重新开始。