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

如何用PowerShell按原大小写重命名文件名及文件内容?

PowerShell实现大小写对应匹配替换方案

要实现按原文本大小写模式匹配替换(如uvw→xyz、UVW→XYZ、Uvw→Xyz),同时将abc_123(含所有大小写变体)默认替换为def_123,可以通过以下修改实现:

核心实现逻辑

  • 对于UVW类的大小写对应替换:利用.NET正则表达式的匹配评估器,根据匹配文本的大小写结构生成对应的替换文本。
  • 对于abc_123的替换:使用不区分大小写匹配,但固定替换为def_123(而非对应大小写的变体)。

修改后的完整脚本

$filePath = "C:\root_folder"
$include = '*.txt', '*.xml' # 根据需要调整

# 定义UVW到XYZ的大小写对应替换逻辑
$uvwReplaceEvaluator = {
    param($match)
    $original = $match.Value
    $target = "XYZ"
    $result = [char[]]::CreateInstance([char], $original.Length)
    for ($i = 0; $i -lt $original.Length; $i++) {
        if ([char]::IsUpper($original[$i])) {
            $result[$i] = [char]::ToUpper($target[$i])
        } else {
            $result[$i] = [char]::ToLower($target[$i])
        }
    }
    return -join $result
}

Get-ChildItem -File $filePath -Recurse -Include $include | 
    # 重命名文件:处理文件名中的UVW大小写对应替换
    Rename-Item -WhatIf -PassThru -NewName {
        [regex]::Replace($_.Name, 'uvw', $uvwReplaceEvaluator, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase)
    } |
    ForEach-Object {
        $content = Get-Content -Raw -LiteralPath $_.FullName
        # 处理文件内容中的UVW大小写对应替换
        $content = [regex]::Replace($content, 'uvw', $uvwReplaceEvaluator, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase)
        # 处理abc_123的替换:不区分大小写匹配,固定替换为def_123
        $content = $content -replace 'abc_123', 'def_123', [System.Text.RegularExpressions.RegexOptions]::IgnoreCase
        Set-Content -NoNewLine -LiteralPath $_.FullName -Value $content
    }

脚本说明

  1. 大小写对应替换逻辑:

    • 定义$uvwReplaceEvaluator脚本块,接收匹配到的文本后逐个字符判断大小写,生成对应大小写的XYZ变体。
    • 通过[regex]::Replace指定IgnoreCase选项,确保匹配所有大小写形式的uvw,再通过评估器输出对应替换结果。
  2. abc_123的替换:

    • 使用-replace并传入IgnoreCase选项,匹配所有大小写形式的abc_123,统一替换为固定的def_123。
  3. 注意事项:

    • 测试阶段保留-WhatIf参数可预览操作,移除后才会实际执行重命名和内容修改。
    • 脚本支持PowerShell 5.1及以上版本,依赖.NET Framework正则表达式功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:40:24