如果我跑:
set number1=100
然后
set /a result=number1*2
命令和输出如下:
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!"
你会看到:
Message showing /wait time http://www.sourceplumbing.com/temp/snap0008.jpg