用powershell将文件名中每个单词的首字母大写

问题描述 投票:16回答:2

我想自动更改某些文件的名称。

使用此代码,我将小写字母更改为大写:

获取子项* .mp3 | foreach {如果($ 。Name -cne $。Name.ToUpper()){任$ .. FullName $。Name.ToUpper()}}

但是我只希望每个单词的首字母大写。

powershell cmd uppercase lowercase
2个回答
42
投票

您可以使用ToTitleCase方法:

ToTitleCase

输出

一二三

$TextInfo = (Get-Culture).TextInfo
$TextInfo.ToTitleCase("one two three")

4
投票

是,它内置在Get-Culture中。

$TextInfo = (Get-Culture).TextInfo
get-childitem *.mp3 | foreach { $NewName = $TextInfo.ToTitleCase($_); ren $_.FullName $NewName }

是的,它可以缩短为一行,但是它真的很长,很难阅读。

© www.soinside.com 2019 - 2024. All rights reserved.