You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中仅提取属性名并忽略属性值

在PowerShell中提取Properties文件的属性名

我来帮你搞定这个问题!针对properties文件里key=value的典型格式,在PowerShell里只提取属性名其实很简单,给你两种实用的方法,还能自动跳过注释和空行:

方法一:正则匹配法

这种方法用正则精准匹配属性名部分,适合大多数场景:

# 替换成你的properties文件路径
Select-String -Path "C:\path\to\your\file.properties" -Pattern "^([^=#]+)" | ForEach-Object {
    $_.Matches.Groups[1].Value.Trim()
}

原理说明:

  • 正则^([^=#]+):匹配行开头到第一个=或#的内容,确保只拿到属性名
  • .Trim():去除属性名前后可能存在的空格
  • 自动跳过以#开头的注释行,因为注释行的开头匹配不到这个正则

方法二:字符串拆分法

如果属性值里可能包含=字符,这种方法更稳妥,只按第一个=拆分:

# 替换成你的properties文件路径
Get-Content "C:\path\to\your\file.properties" | ForEach-Object {
    # 跳过空行和注释行
    if ($_ -notmatch '^\s*$' -and $_ -notmatch '^\s*#') {
        # 只拆分一次,避免属性值里的=影响结果
        $key = $_.Split('=', 2)[0].Trim()
        # 确保输出非空的属性名
        if (-not [string]::IsNullOrEmpty($key)) {
            $key
        }
    }
}

原理说明:

  • Get-Content读取文件的每一行内容
  • 过滤掉空行和以#开头的注释行,避免无效输出
  • .Split('=', 2):只按第一个=拆分字符串,防止属性值里的=干扰结果
  • 最后通过Trim()和空值检查,确保输出的都是干净有效的属性名

内容的提问来源于stack exchange,提问作者jks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:03:55