2016-08-16 75 views
1

我有大容量圖像文件,我想通過PowerShell將它們的文件名更改爲標題大小寫。將文件名更改爲buk中的標題大小寫

例如:

文件名一樣this.jpg

要:

文件名一樣This.jpg

我有700+的文件在子文件夾中。
我曾嘗試這樣的代碼:

Get-ChildItem "C:\temp\new" -recurse |Where {-Not $_.PSIsContainer} |Rename-Item -NewName {$_.FullName.TOUPPER()} 

但這代碼大寫所有字母。

回答

4

所以PowerShell實際上有一個超級簡單的方法來使用Get-Culture的textinfo來做到這一點。該屬性包含一個名爲ToTitleCase()的方法,它將完全(幾乎)完成您想要的操作。唯一的區別是它也會在'Jpg'中利用'J'。雖然只是擴展,所以沒有什麼大不了的?

$Culture = Get-Culture 
Get-ChildItem "C:\temp\new" -recurse |Where {-Not $_.PSIsContainer} |Rename-Item -NewName {$Culture.textinfo.totitlecase($_.FullName)} 
+0

如果你需要它的JPG不改變j您可以嘗試'-NewName {[正則表達式] ::更換($ _全名。 '(^ |)',{ 「的$ args」 .ToUpper()})}' – TessellatingHeckler

+0

@TheMadTechnician感謝這個代碼的工作....對於'J'即時通訊使用此代碼PS C:\ temp \ new> Get-ChildItem -Filter「* .J *」-Recurse | Rename-Item -NewName {$ _。name -replace'.J','。j'}反正再次謝謝.. – deva

相關問題