You need to enable JavaScript to run this app. 如何编写PowerShell脚本批量处理多文本文件移除空白并输出到指定文件夹
优惠活动
大模型
产品
解决方案
定价
更多

如何编写PowerShell脚本批量处理多文本文件移除空白并输出到指定文件夹

批量移除文本空行PowerShell实现

完整脚本

# 配置源目录与独立输出目录
$sourcePath = "C:\test"
$outputRoot = "C:\test\FilteredOutput"

# 自动创建不存在的输出目录
if (!(Test-Path $outputRoot)) {
    New-Item -ItemType Directory -Path $outputRoot | Out-Null
}

# 遍历源目录下所有txt文件
Get-ChildItem -Path $sourcePath -Filter *.txt -File | ForEach-Object {
    # 按规则生成输出文件名
    $targetFile = Join-Path $outputRoot ($_.BaseName + "out.txt")
    # 复用已验证的空行过滤逻辑
    Get-Content $_.FullName | Where-Object { $_ -ne "" } | Out-File $targetFile
}

关键说明

  • 路径配置:可直接修改$sourcePath为实际存放待处理txt的目录,$outputRoot可自定义为任意独立文件夹,与源目录隔离避免输出文件被重复扫描。
  • 扫描范围控制:默认仅处理源目录根下的txt文件,如需递归处理所有子目录内的txt,在Get-ChildItem命令后追加-Recurse参数,同时需追加管道过滤Where-Object { $_.DirectoryName -ne $outputRoot },避免重复处理输出目录内的文件。
  • 命名规则:自动提取原文件无扩展名的名称拼接out.txt,例如原文件4.txt会生成4out.txt存入输出目录,完全匹配命名要求。
  • 编码调整:如果需要和原文件编码保持一致,可在Out-File后追加-Encoding参数,例如-Encoding UTF8、-Encoding Default,避免出现乱码。
  • 过滤增强:如果需要同时过滤仅含空格、制表符的伪空行,可将过滤条件替换为Where-Object { $_.Trim() -ne "" }。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.12 23:36:04