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

如何用PowerShell导出CSV文件中含指定邮箱域名的行?

解决CSV导出特定邮箱域名行的问题

我来帮你搞定这个需求~你的代码没输出是因为-Like运算符的用法不对,咱们一步步修正:

原代码的问题

  1. -Like不支持用|分隔多个匹配模式:这个运算符只能处理单个模式匹配,多个条件得用-or来连接
  2. 匹配模式缺少前缀通配符:你写的@acme.com只会完全匹配等于@acme.com的邮箱,而实际邮箱格式是xxx@acme.com,得加*前缀变成*@acme.com,才能匹配到完整的邮箱后缀

方法一:用-Like结合-or(直观易懂)

这种方式适合域名数量不多的场景,每个域名单独写匹配条件:

Import-CSV -Path $SrcFolder\employees.csv | 
    Where-Object { 
        $_.'Email' -Like "*@acme.com" -or 
        $_.'Email' -Like "*@contoso.com" 
    } | 
    Export-CSV -Path $DestFolder\employees_out.csv -NoTypeInformation

方法二:用-match正则表达式(简洁高效)

如果要匹配的域名很多,用正则会更简洁。@(acme|contoso)\.com$表示匹配以@acme.com或@contoso.com结尾的邮箱(\.是转义点号,避免误匹配到@acme.com.cn这类带额外后缀的地址):

Import-CSV -Path $SrcFolder\employees.csv | 
    Where-Object { $_.'Email' -match "@(acme|contoso)\.com$" } | 
    Export-CSV -Path $DestFolder\employees_out.csv -NoTypeInformation

额外注意点

  • 确保$SrcFolder和$DestFolder变量已经正确赋值,比如可以先用绝对路径测试,比如C:\data\employees.csv
  • 如果需要区分大小写匹配,把-match换成-cmatch即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:49:01