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

如何用PowerShell拆分文件名并导出为CSV文件?

从PDF文件名提取信息生成CSV的PowerShell脚本

需求说明

文件夹内存在大量命名格式为yyyy-mm-dd_Discription_$Amount.pdf的PDF文件,需要生成包含Date(日期)、Description(描述)、**Amount(金额)**三列的CSV文件。

解决方案脚本

$Directory = "C:\path to directory"
# 仅筛选PDF文件,提升处理效率
Get-ChildItem -Path $Directory -Recurse -Force -Filter "*.pdf" | ForEach-Object {
    # 用正则匹配固定命名格式,提取对应字段
    if ($_.BaseName -match '^(\d{4}-\d{2}-\d{2})_(.*)_(\$[\d.]+)$') {
        [PSCustomObject]@{
            Date        = $matches[1]
            Description = $matches[2]
            Amount      = $matches[3] -replace '\$', '' # 可选:移除$符号,仅保留数字金额
        }
    } else {
        # 对不符合格式的文件做异常标记
        [PSCustomObject]@{
            Date        = "格式异常"
            Description = $_.BaseName
            Amount      = "N/A"
        }
    }
} | Export-Csv -Path "./output.csv" -NoTypeInformation -Encoding UTF8

关键说明

  1. 精准筛选文件:通过-Filter "*.pdf"仅处理目标PDF文件,避免无关文件干扰。
  2. 正则字段提取:
    • ^(\d{4}-\d{2}-\d{2}):匹配并提取yyyy-mm-dd格式的日期;
    • (.*):提取两个下划线之间的描述内容(支持描述含空格,若描述不含下划线可替换为([^_]+));
    • (\$[\d.]+):匹配带$符号的金额,可选通过-replace '\$', ''移除符号,仅保留数字。
  3. 异常处理:对不符合命名格式的文件,生成标记行,方便后续排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:30:59