大写文件名中的第一个字母

时间:2017-11-21 19:47:10

标签: powershell capitalization

是否有办法批量处理文件和/或文件夹中每个单词中的第一个字母。即丹尼斯·布朗 - 爱光(慢版).mp3但是我想看起来像丹尼斯·布朗 - 爱之光(慢版).mp3? 这可以通过powershell完成吗?

1 个答案:

答案 0 :(得分:1)

当然,PowerShell有一个内置的方法来执行此操作,使用Get-Culture cmdlet根据您的区域首选项来大写字符串。这是为一个字符串执行此操作的方法。

(Get-Culture).textinfo.totitlecase("some thing to uppercase".tolower())
>Some Thing To Uppercase

由于一开始很难消化,我为你写了一些样本。此示例显示每个文件的新名称。如果您喜欢所看到的内容,请移除-WhatIf参数。

$files = Get-childitem -Path C:\temp

ForEach($file in $files){
    $CapitalizedName = (Get-Culture).textinfo.totitlecase($file.BaseName.tolower())
    $NameDotExt = "$CapitalizedName$($file.Extension)"
    Rename-item -Path $file.Fullname -NewName $NameDotExt -WhatIf

}

感谢this blog post突出显示此技术。