如果变量不能有空格?

时间:2018-01-27 01:11:18

标签: windows batch-file variables

我正在批量制作一个实验程序,用于简单的聊天界面。在这一个中,我创建了一个函数,如果在聊天中放置了单词r,它会忽略它并再次重新显示文本文件。如果我把r放进去就可以正常刷新,如果我放一个单词就可以了,但是如果我把一个单词和一个空格和另一个单词放在一起,它会断开并显示以下错误:

Chat(Put r for refresh):hey hi
hi was unexpected at this time.

有谁知道如何解决这个问题?感谢。

代码:

@echo off
cls
cd %USERPROFILE%\Desktop\Chat
for /f "delims=" %%A in (chat.txt) do (
    set %%A
)
echo %chatt%
echo %chatp%
echo %chatn%
cd %USERPROFILE%\Desktop\Chat\Servers\%chatt%
:1
cls
type %chatn%.chat
set /p in=Chat(Put r for refresh):
if %in% == r goto 1
echo %chatp%: %in%>>%chatn%.chat
goto 1

1 个答案:

答案 0 :(得分:1)

处理字符串变量内容中的空格的常用方法是将其包装在引号中。这就是这种情况。当您使用g++ 5.4.0变量内容时,内容将逐字插入,因此可疑行将如下所示:

-std=c++0x

它开始时没关系%in%但是它不会看到if hey hi == r goto 1 这样的比较运算符,而是看到if hey并且窒息。所以用引号括起来:

==

这样就会被解释为

hi

并且蝙蝠引擎会知道"嘿嗨"应该被视为一个实体。