我的简单聊天程序中的问题
Problems in my simple chat program
我做了一个简单的批量聊天,将消息写入一个 txt 文件。
我需要帮助打印文件每次更改和隐藏输出。
我使用 type、delay 和 cls 来打印文件,但没有用,它没有打印文件。
launcher.bat:
start cmd /k
call room.bat
call chat.bat
room.bat(问题):
:chat1
cls
TYPE room.txt
timeout /t 0.5
goto chat1
chat.bat(工作但显示有关 os 和文件的额外信息):
@echo off
cls
set D=%Date%
cls
echo enter your name
SET /P name=[name]
pause
:room
cls
SET /P chatpublic=[everyone]
SET "
echo %name%: %chatpublic% |%D%|>> room.txt
pause
goto room
罪魁祸首是:
echo %name%: %chatpublic% |%D%|>> room.txt
那是因为 |
竖线在 Windows 命令行解释器中有特殊含义: commandA | commandB
: pipe the output from commandA
into commandB
.
如果你想在另一种意义上使用 |
垂直线(例如用 echo
命令显示它),那么你应该 escape 如下:
echo %name%: %chatpublic% ^|%D%^|>> room.txt
我做了一个简单的批量聊天,将消息写入一个 txt 文件。 我需要帮助打印文件每次更改和隐藏输出。 我使用 type、delay 和 cls 来打印文件,但没有用,它没有打印文件。
launcher.bat:
start cmd /k
call room.bat
call chat.bat
room.bat(问题):
:chat1
cls
TYPE room.txt
timeout /t 0.5
goto chat1
chat.bat(工作但显示有关 os 和文件的额外信息):
@echo off
cls
set D=%Date%
cls
echo enter your name
SET /P name=[name]
pause
:room
cls
SET /P chatpublic=[everyone]
SET "
echo %name%: %chatpublic% |%D%|>> room.txt
pause
goto room
罪魁祸首是:
echo %name%: %chatpublic% |%D%|>> room.txt
那是因为 |
竖线在 Windows 命令行解释器中有特殊含义: commandA | commandB
: pipe the output from commandA
into commandB
.
如果你想在另一种意义上使用 |
垂直线(例如用 echo
命令显示它),那么你应该 escape 如下:
echo %name%: %chatpublic% ^|%D%^|>> room.txt