powershell - 需要来自 Invoke-WebRequest 输出的特定字符串行
问题描述
我有以下内容:
$WebContent = Invoke-WebRequest -Uri "URLHERE/$PCNAME" -UseDefaultCredential |
Select-Object -ExpandProperty Content
它输出完美:
键1:sfsdfsdfsfdsfsdsfs 键 2:标清:34:标清:34:标清:34 版本:4 时间戳:2018 年 4 月 13 日下午 4:00:11
但我需要能够将 Key1 和 Key2 的内容放入一个变量中,没有空格,并适应每个键长度变化的可能性。
我试图用Substring($len - 83,14)
它来获取它的长度并解析出密钥的确切位置,但由于某种原因,它们的长度发生了变化,并且有些人切断了给出错误输出的密钥。我可能需要获取整行,然后将“:”和“”之后的所有内容放入变量中。
有任何想法吗?
解决方案
假设您得到的响应是文本,而不是结构化对象,您可以执行以下操作:
$data = $WebContent -replace ': ', '=' |
Out-String |
ConvertFrom-StringData
以上将用字符替换冒号后跟空格=
并将所有内容合并为单个字符串,以便ConvertFrom-StringData
可以将键/值对列表转换为哈希表。然后你可以像这样为单个变量赋值:
$key = $data['Key1']
或者按原样使用哈希表。
推荐阅读
- elasticsearch - 是否可以合并以使用 ElasticSearch 从文档 A 和 B 创建文档 C
- maven - Maven 无法解析反应堆的依赖关系
- python-3.x - 如何使用质心网格实现均值偏移?
- javascript - 为什么在调用 $(document).ready(function() { ... }) 之后, document.getElementById 调用为 null?
- python-3.x - 使用 Pivot_Table 时如何克服错误合并?
- google-apps-script - 用于创建 Confluence 页面的 Google Apps 脚本——导致状态码 500
- javascript - JavaScript - 将字符串拆分为单词,识别具有最多元音的单词的函数 - 使用 For 循环
- reactjs - react-snapshot 可以按照 S3 的要求绘制路径吗?
- php - 以编程方式在 Wordpress 中编辑 PHP 文件
- javascript - 生产中的深奥错误:`类型错误:e未定义`