programing

powershell이 있는 파일 이름의 각 단어 첫 글자 대문자화

sourcejob 2023. 10. 16. 21:48
반응형

powershell이 있는 파일 이름의 각 단어 첫 글자 대문자화

몇몇 파일의 이름을 자동으로 변경하고 싶습니다.

이 코드를 사용하면 소문자를 대문자로 바꿉니다.

get-child 항목 *.mp3 | 각 {if ($).이름 - cne$.이름. Upper()에게 {ren$.전체 이름 $.이름.상부() }로 연결

하지만 각 단어의 첫 글자는 대문자로만 했으면 합니다.

메소드를 사용할 수 있습니다.

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

산출물들

하나 둘 셋

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

제 대답은 매우 비슷하지만, 한 줄로 해결해 주고 싶었습니다.또한 제목 대소문자를 강제로 사용하기 전에 텍스트를 소문자로 강제합니다.(otherwise, 첫 글자만 해당)

$text = 'one TWO thrEE'
( Get-Culture ).TextInfo.ToTitleCase( $text.ToLower() )

출력:

하나 둘 셋

네, 겟컬쳐(Get-Culture)에 내장되어 있습니다.

gci *.mp3|%{
    $NewName = (Get-Culture).TextInfo.ToTitleCase($_.Name)
    $NewFullName = join-path $_.directory -child $NewName
    $_.MoveTo($NewFullName)
}

네, 한 줄로 줄일 수도 있지만, 정말 길어지고 읽기 힘들어요.

여기 있습니다.

[cultureinfo]::GetCultureInfo("en-US").TextInfo.ToTitleCase("what is my name?")

언급URL : https://stackoverflow.com/questions/22694582/capitalize-the-first-letter-of-each-word-in-a-filename-with-powershell

반응형