如何从批处理文件中将单个数字发送到 COM 端口?
How to send a single digit number to a COM port from a batch file?
我需要从批处理文件向挂在 COM 端口上的 Bus Pirate 发送一些单字符命令,但我在发送单个数字时遇到问题。
如果我发送一个两位数的号码,它发送正常,似乎只有一位数有问题。
在下面的代码中,字母发送正常,但数字似乎根本没有发送。
Set "CNum=COM5"
echo m>\.\%CNum%
echo 4>\.\%CNum%
echo 4>\.\%CNum%
echo W>\.\%CNum%
echo P>\.\%CNum%
有什么技巧可以让它工作吗?
出现此问题是因为您没有使用完整的重定向句柄,因此您发送到 COM 端口的数字字符串被误认为是一个。即 1>\.\COM5
.
您可以使用:
Set "CNum=COM5"
>\.\%CNum% echo m
>\.\%CNum% echo 4
>\.\%CNum% echo 4
>\.\%CNum% echo W
>\.\%CNum% echo P
或:
Set "CNum=COM5"
(echo m) >\.\%CNum%
(echo 4) >\.\%CNum%
(echo 4) >\.\%CNum%
(echo W) >\.\%CNum%
(echo P) >\.\%CNum%
您甚至可能想尝试:
Set "CNum=COM5"
( echo m
echo 4
echo 4
echo W
echo P
) >\.\%CNum%
或:
Set "CNum=COM5"
>\.\%CNum% (
echo m
echo 4
echo 4
echo W
echo P
)
我需要从批处理文件向挂在 COM 端口上的 Bus Pirate 发送一些单字符命令,但我在发送单个数字时遇到问题。
如果我发送一个两位数的号码,它发送正常,似乎只有一位数有问题。
在下面的代码中,字母发送正常,但数字似乎根本没有发送。
Set "CNum=COM5"
echo m>\.\%CNum%
echo 4>\.\%CNum%
echo 4>\.\%CNum%
echo W>\.\%CNum%
echo P>\.\%CNum%
有什么技巧可以让它工作吗?
出现此问题是因为您没有使用完整的重定向句柄,因此您发送到 COM 端口的数字字符串被误认为是一个。即 1>\.\COM5
.
您可以使用:
Set "CNum=COM5"
>\.\%CNum% echo m
>\.\%CNum% echo 4
>\.\%CNum% echo 4
>\.\%CNum% echo W
>\.\%CNum% echo P
或:
Set "CNum=COM5"
(echo m) >\.\%CNum%
(echo 4) >\.\%CNum%
(echo 4) >\.\%CNum%
(echo W) >\.\%CNum%
(echo P) >\.\%CNum%
您甚至可能想尝试:
Set "CNum=COM5"
( echo m
echo 4
echo 4
echo W
echo P
) >\.\%CNum%
或:
Set "CNum=COM5"
>\.\%CNum% (
echo m
echo 4
echo 4
echo W
echo P
)