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

求助:编写PowerShell脚本统计目录文件中字符串出现次数

统计指定目录下各文件中字符串的出现次数

以下是满足需求的PowerShell脚本,会逐个处理目标目录下的文件,输出每个文件名及其对应的字符串出现次数:

# 配置参数
$targetDirectory = "C:\Your\Path\Here"  # 替换为你的目标目录路径
$searchString = "YourTargetString"      # 替换为你要统计的字符串
$fileType = "*.txt"                     # 可根据需要修改文件类型过滤规则

# 遍历文件并统计
Get-ChildItem -Path $targetDirectory -Filter $fileType -File | ForEach-Object {
    # 获取当前文件中目标字符串的总出现次数
    $matchCount = (Select-String -Path $_.FullName -Pattern $searchString -AllMatches).Matches.Count
    # 按要求格式输出
    Write-Host "$($_.Name) $matchCount"
}

关键说明:

  • Get-ChildItem -File:确保只处理文件,不会包含子目录(如果需要遍历子目录,添加-Recurse参数即可)
  • Select-String -AllMatches:会匹配文件中所有符合模式的字符串,而不是只返回第一个匹配项
  • Matches.Count:直接获取当前文件中目标字符串的总出现次数

如果需要快速执行,也可以用简化的单行命令(直接在目标目录下运行):

Get-ChildItem *.txt -File | ForEach-Object { "$($_.Name) $((Select-String -Path $_.FullName -Pattern 'YourTargetString' -AllMatches).Matches.Count)" }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:07:35