如何使用 powershell 提取文本的某个部分?

如何使用 powershell 提取文本的某个部分?

我创建了一个 bat 文件来获取我的公共 IP 并将其写入 txt 文件; powershell -Command "curl icanhazip.com > PATH/output.txt" powershell -Command "Start-Sleep -s 1" powershell -Command "(Get-Content PATH/output.txt)[4] > PATH/ip.txt"

第一行获取一堆信息,其中包含输出文件第四行中的我的公共 IP。第三行从输出文件中获取第四行并将其写入另一个文件。然后我剩下这个:

Content           : xxx.xxx.xxx.xxx

我只想提取 IP。换句话说,我想删除

Content           : 

来自文本文件。此部分不变且字符数恒定。也许有代码可以从文本开头删除这么多字符?我找不到这样的命令。

我该如何在不使用除 bat 文件和 powershell 命令之外的任何东西的情况下做到这一点。我希望能够将所有这些都放在一个 bat 文件中。(我不懂 vbs,这让我害怕。)

请告诉我你的想法。提前致谢。:)

答案1

使用(curl icanhazip.com).Content将仅返回 IP 地址:

PS C:\> (curl icanhazip.com).Content
xx.xx.xx.xx

相关内容