剪切cmd.exe脚本响应的最后2个字符

时间:2013-05-03 12:07:24

标签: windows command-line cmd

我想编写一个脚本,该脚本实际上ping另一台计算机,并且仅作为数字获得平均值。现在我有一个脚本,根据需要得到平均ping并显示它,但它有'ms'前缀,我想摆脱它。我似乎无法找到cut等效(好吧,我确实找到了,但我不能使我现有的脚本并且它一起工作)已经在Windows中(默认情况下应该在cmd.exe中)

我的剧本:

FOR /F "usebackq skip=11 tokens=6 delims== " %i IN (`ping host2.internal`) DO @echo %i

我得到:197ms,但我需要它看起来像:197

由于

2 个答案:

答案 0 :(得分:1)

替换DO部分
DO @set FOO=%i & echo %FOO:~0,-3%

这会将%i的值分配给临时变量FOO,以便您可以使用shell的子字符串提取功能(SET /?进行说明)。我正在削减三个字符而不是两个字符,因为%i包含一个尾随空格。

答案 1 :(得分:1)

这在Win 8中有效:在IPV6也有效的情况下需要-4。

FOR /F "tokens=5 delims==<ms" %i IN ('ping -4 www.google.com ^|find "Reply from"') DO @echo %i