我简单的聊天程序中的问题

时间:2015-02-26 23:43:40

标签: batch-file

我做了一个简单的批处理聊天,将消息写入txt文件。 每次更改文件和隐藏输出时,我都需要帮助打印文件。 我使用 类型,延迟和cls 来打印文件,但它没有用,它没有打印文件。

launcher.bat:

start cmd /k 
call room.bat
call chat.bat

using the launcher photo

room.bat(问题):

:chat1
cls
TYPE room.txt
timeout /t 0.5
goto chat1

chat.bat(工作但显示有关操作系统和文件的额外信息):

@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

without the launcher photo

1 个答案:

答案 0 :(得分:0)

这是罪魁祸首:

echo %name%: %chatpublic%    |%D%|>> room.txt

这是因为|垂直线在Windows命令行解释器中具有特殊含义:commandA | commandBpipe the output from commandA into commandB

如果您确实想要在另一种意义上使用|垂直线(例如,使用echo命令显示它),那么您应该escape如下:

echo %name%: %chatpublic%    ^|%D%^|>> room.txt