我做了一个简单的批处理聊天,将消息写入txt文件。 每次更改文件和隐藏输出时,我都需要帮助打印文件。 我使用 类型,延迟和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(工作但显示有关操作系统和文件的额外信息):
@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
答案 0 :(得分:0)
这是罪魁祸首:
echo %name%: %chatpublic% |%D%|>> room.txt
这是因为|
垂直线在Windows命令行解释器中具有特殊含义:commandA | commandB
:pipe the output from commandA
into commandB
。
如果您确实想要在另一种意义上使用|
垂直线(例如,使用echo
命令显示它),那么您应该escape如下:
echo %name%: %chatpublic% ^|%D%^|>> room.txt