batch-file - FIND:管道 ping 命令时参数格式不正确
问题描述
我正在尝试将 ping 测试的响应发送到 json 文件。
set RESPONSE=$(ping %IPADDRESS% -n 1 | find "time=")
echo %RESPONSE% >> results.json
当我尝试 ping %IPADDRESS% -n 1 | 直接在 cmd 提示符下找到“time=”就可以了。但是当我在脚本中运行它时,我收到以下错误:
FIND: Parameter format not correct
有谁知道为什么?非常感谢。
解决方案
获取 JSON 文件的另一种方法是:
powershell -NoLogo -NoProfile -Command ^
"Test-Connection -ComputerName localhost -Count 1 |" ^
"Select-Object -Property ResponseTime |" ^
"ConvertTo-Json |" ^
"Out-File -FilePath 'C:\src\t\results.json' -Encoding ascii"
这会产生:
{
"ResponseTime": 0
}
如果系统正在运行 pwsh,则可以使用以下内容。
PS C:\> Test-Connection -ComputerName www.ibm.com -Count 1 |
Select-Object -Property Latency |
ConvertTo-Json
{
"Latency": 38
}
PS C:\> $PSVersionTable.PSVersion.ToString()
7.0.1
推荐阅读
- java - 如何使用java将阿拉伯语数据存储在mysql数据库中?
- unicode - 在 Pycharm 中显示无效字符
- mongodb - mongodb聚合管道没有返回正确的结果并且速度很慢
- double - 从字符串转换为双精度的问题
- android - java.lang.NullPointerException:尝试调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)'
- macos - macOS Catalina AudioServerPlugIn 安装
- json - 如何从 json 文件生成类图或 UML
- windows - 将环境变量从命令行传递给纱线
- css - Angular2 - 为什么 :host 不会随着 Safari 中的内容垂直增长?
- date - Hive 中的日期和时区