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

如何修改PowerShell脚本,输出含文件名及符合条件的行

PowerShell脚本实现:筛选多文件指定列并附带文件名

直接用以下脚本即可实现需求,整合文件遍历与行筛选逻辑:

Get-ChildItem -Path "你的目标文件夹路径" -Filter "SMAN_2023.xyz" | ForEach-Object {
    $currentFile = $_.Name
    Get-Content $_.FullName | ForEach-Object {
        # 若文件无表头,删除此行
        if ($_ -match '^#|^[A-Za-z]+') { return }
        
        $columns = $_ -split '\s+' | Where-Object { $_ -ne '' }
        if ($columns.Count -ge 4 -and [double]$columns[3] -gt 0.01) {
            # 自定义输出格式,可按需修改
            "$currentFile | $_"
        }
    }
} | Out-File "筛选结果.txt" -Encoding UTF8

关键逻辑说明

  • 文件遍历:Get-ChildItem精准定位目标文件夹下所有SMAN_2023.xyz格式文件
  • 文件名记录:通过$_.Name获取当前处理的文件名,确保输出时能关联到对应文件
  • 行筛选:
    1. 跳过表头行(匹配以#或字母开头的行,无需则删除该行判断)
    2. 按空白符分割行内容,过滤空元素避免列索引错误
    3. 验证列数足够后,将第4列(索引3,PowerShell为0起始)转为数值类型,与0.01做比较
    4. 符合条件的行拼接文件名后输出
  • 结果保存:用Out-File将最终结果写入文本文件,避免控制台溢出

调整建议

  • 替换"你的目标文件夹路径"为实际路径,如"D:\XYZ_Data"
  • 若文件用逗号/分号分隔列,将-split '\s+'改为-split ','或-split ';'
  • 可修改输出格式,例如改为"[$currentFile] $_"或"$currentFile,$_"方便后续导入表格工具

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:42:40