Batch file 批处理语法不正确?
因此,上面的代码是短消息程序的开始代码。我正试图让它更方便用户,突然上述代码导致命令提示符窗口关闭,并导致“命令语法不正确”在窗口关闭前短暂出现在提示符下方。我不知道我的语法有什么问题。非常感谢您的帮助Batch file 批处理语法不正确?,batch-file,syntax,syntax-error,Batch File,Syntax,Syntax Error,因此,上面的代码是短消息程序的开始代码。我正试图让它更方便用户,突然上述代码导致命令提示符窗口关闭,并导致“命令语法不正确”在窗口关闭前短暂出现在提示符下方。我不知道我的语法有什么问题。非常感谢您的帮助 另外,.chatfile是由此程序的早期版本生成的,其作用类似于普通文本文件。添加到上述代码顶部附近。你得到了什么?里面有特殊人物吗 @echo off title LocalTransmit Messaging Service Version 1.0 color f0 :startup sta
另外,.chatfile是由此程序的早期版本生成的,其作用类似于普通文本文件。添加到上述代码顶部附近。你得到了什么?里面有特殊人物吗
@echo off
title LocalTransmit Messaging Service Version 1.0
color f0
:startup
start run.cmd
set /P locationVal="Enter where you are (home or school):"
if "%locationVal%"=="home" (
set place=C:\Users\Andrew\Data\Chat\chatroom.chatfile
echo %computername% has joined the chatroom! >> %place%
goto message
)
if "%locationVal%"=="school" (
set place=\\HS-LAB-12\Users\student\Data\Chat\chatroom.chatfile
echo %computername% has joined the chatroom! >> %place%
goto message
)
goto error
标准
delayedexpansion
problem-搜索,所以-它被覆盖了数百次
在块语句(一系列带括号的语句)
中,解析整个块,然后执行。在解析块时,块内的任何%var%
都将替换为该变量的值——在执行块之前——这同样适用于。。。DO(块)
在您的情况下,块中的位置
正在更改,因此您需要使用其中一种机制来解决问题
在例程开始时,place
未定义,因此您的代码解析为
echo(%ComputerName%
pause
因此出现了语法错误报告
尝试从块语句中删除该行,并将其放在:message
标签后面:
echo %computername% has joined the chatroom! >>
您的代码将变得更短。非常感谢!我设置了一个名为a=1的变量,使其仅在:消息页面上执行一次回显“(name)已加入聊天室!”。
:message
echo %computername% has joined the chatroom! >> %place%