Math 不回显结果的批处理文件算法

Math 不回显结果的批处理文件算法,math,batch-file,echo,Math,Batch File,Echo,如果我跑步: set number1=100 然后 命令和输出如下所示: c:\set number1=100 c:\set /a result=number1*2 200 c:\ 它与我正在处理的更大的批处理文件相混淆。我只想设置变量,而不重复“200”的结果。我将感谢任何帮助。提前谢谢你 编辑:这是有问题的批处理文件的一部分: set /p msgTimeMin="Please enter the display time in Minutes (default 60min): " %

如果我跑步:

set number1=100
然后

命令和输出如下所示:

c:\set number1=100

c:\set /a result=number1*2
200
c:\
它与我正在处理的更大的批处理文件相混淆。我只想设置变量,而不重复“200”的结果。我将感谢任何帮助。提前谢谢你

编辑:这是有问题的批处理文件的一部分:

set /p msgTimeMin="Please enter the display time in Minutes (default 60min): " %=%
if [%msgTimeMin%]==[] set msgTimeMin=60
set /A "msgTime=msgTimeMin*10000"
在此之后,我运行:

msg * /server:%msgComputer% /w %msgTime% %message%
比如说,我想将消息“Hello world!”发送到本地计算机,该命令基本上将作为:

msg * /server:127.0.0.1 /w 600000 "Hello world!"
我电脑上弹出的消息会说“600000 Hello World!”我不明白为什么它会在消息中显示时间

编辑2:

让我们把批处理文件拿走,从CMD提示符运行一些命令。它很容易重复我试图避免的问题。在您自己的计算机上尝试以下操作:

注意:您可能需要首先在计算机上启用消息:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\
AllowRemoteRPC= DWORD value "1"
然后在CMD提示符下尝试以下操作:

set msgTimeMin=60
然后键入:

set /A "msgTime=msgTimeMin*1000"
您将看到600000个回音,但请忘记这一点,因为@echo off会阻止回音。继续:

msg * /server:127.0.0.1 /w %msgTime% "Hello World!"
您将看到:



(来源:)

在.BAT或.CMD文件中运行时,200不会出现。它现在出现只是因为您正在以交互方式进行操作。请在批处理文件中使用@echo off。@boost,您说它不会从批处理文件中“回显”200是正确的,但它会将其作为参数传递给我的最终命令。向远程用户发送消息时(MSG user/Server:\\COMPUTER/W DISPLAYTIME),显示时间以毫秒为单位,但我希望以分钟为单位输入。因此,我试图显示time=TIMEENTERED*1000。例如,如果我输入30作为显示消息的分钟数,则弹出窗口在机器上显示为“30000这是消息”。我假设这与以下事实有关,即它本质上是“回显”CMD提示符中显示的结果。您能够发布更多有问题的.CMD文件吗?编辑我的帖子以显示批处理文件中的命令。
msg * /server:127.0.0.1 /w %msgTime% "Hello World!"