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

批量修改TXT文件#Start/#Stop时间并另存的PowerShell技术问询

批量修改TXT文件时间戳的PowerShell完整实现

需求概述

  • 批量处理指定目录下的所有TXT文件
  • 将#Start=行的时间部分替换为当日00:00:00,保留原日期
  • 将#Stop=行的日期与#Start=行保持一致,时间替换为当日23:00:00
  • 修改后另存为新文件,不覆盖原文件

用户现有定位代码(示例)

$files = Get-ChildItem -Path "C:\Your\File\Path" -Filter "*.txt"
foreach ($file in $files) {
    $content = Get-Content $file.FullName
    foreach ($line in $content) {
        if ($line -match "^#Start=") {
            # 已定位Start行,待补充处理逻辑
        }
        if ($line -match "^#Stop=") {
            # 已定位Stop行,待补充处理逻辑
        }
    }
}

完整功能代码

# 替换为你的目标文件目录
$targetDir = "C:\Your\TXT\Directory"
# 获取所有TXT文件
$txtFiles = Get-ChildItem -Path $targetDir -Filter "*.txt"

foreach ($file in $txtFiles) {
    $content = Get-Content $file.FullName
    $startDate = $null

    # 逐行处理内容
    $newContent = $content | ForEach-Object {
        $currentLine = $_
        # 匹配并处理#Start行
        if ($currentLine -match "^#Start=(\d{4}-\d{2}-\d{2})T\d{2}:\d{2}:\d{2}") {
            $startDate = $matches[1]
            "#Start=$startDate`T00:00:00"
        }
        # 匹配并处理#Stop行(需确保已获取到Start日期)
        elseif ($currentLine -match "^#Stop=" -and $startDate) {
            "#Stop=$startDate`T23:00:00"
        }
        # 其他行保持原样
        else {
            $currentLine
        }
    }

    # 生成新文件名(原文件名后加_modified后缀)
    $newFilePath = Join-Path -Path $file.DirectoryName -ChildPath "$($file.BaseName)_modified$($file.Extension)"
    # 保存修改后的内容
    $newContent | Set-Content -Path $newFilePath -Encoding UTF8
}

Write-Host "批量处理完成,新文件已保存至原目录"

文件格式示例

原文件内容

#Start=2024-05-20T14:30:00
#Stop=2024-05-19T18:45:00
配置项A=123
备注:测试文件

修改后新文件内容

#Start=2024-05-20T00:00:00
#Stop=2024-05-20T23:00:00
配置项A=123
备注:测试文件

关键逻辑说明

  • 用正则表达式^#Start=(\d{4}-\d{2}-\d{2})T\d{2}:\d{2}:\d{2}精准匹配Start行,提取日期部分存入变量
  • 处理Stop行时直接复用已提取的日期,保证日期一致性
  • 新文件名添加_modified后缀,彻底避免覆盖原文件
  • 指定-Encoding UTF8保存,防止中文内容出现乱码问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:30:01