在 powershell 中从命令输出的不同位置捕获子字符串

Capture substring at different positions from command's output in powershell

我是 运行 windows 终端中的一个命令:

PS E:\> netsh wlan show profile name="wifi_profile" key=clear | findstr "Key Content"
    Key Content            : password1234

所以我在这里尝试只获取 password123(wifi 密码)in output 任何配置文件

powershell 中有什么方法可以做到吗?

在像这样的简单情况下,您可以使用 -replace 运算符来 trim 行中不需要的部分:

(
  netsh wlan show profile name="wifi_profile" key=clear | findstr "Key Content"
) -replace '^.+?: '

Regex ^.+?: 从头开始​​匹配 (^) 一个或多个 (+) 个字符 (.) 非贪婪 (?) 直到(第一个): 后跟 space,并且 - 在没有传递给 -replace 的替换操作数的情况下 - 用空字符串替换它,即有效地 删除它,从而只返回值部分。