Powershell 将文件名更改为buk中的标题大小写
我有批量图像文件,我想通过PowerShell将其文件名更改为标题大小写 例如: 像这样的文件名.jpg 致: 像这样的文件名.jpg 我的子文件夹中有700多个文件。Powershell 将文件名更改为buk中的标题大小写,powershell,Powershell,我有批量图像文件,我想通过PowerShell将其文件名更改为标题大小写 例如: 像这样的文件名.jpg 致: 像这样的文件名.jpg 我的子文件夹中有700多个文件。 我尝试过以下代码: Get-ChildItem "C:\temp\new" -recurse |Where {-Not $_.PSIsContainer} |Rename-Item -NewName {$_.FullName.TOUPPER()} 但是这个代码将所有字母大写 因此,PowerShell实际上有一种非常简单的方法
我尝试过以下代码:
Get-ChildItem "C:\temp\new" -recurse |Where {-Not $_.PSIsContainer} |Rename-Item -NewName {$_.FullName.TOUPPER()}
但是这个代码将所有字母大写 因此,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)}
因此,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)}
如果您需要它不改变jpg中的J,您可以尝试
-NewName{[regex]::替换($.FullName,(^ |)),{“$args.ToUpper()}
@TheMadTechnician感谢您的代码工作。。。。对于'J',我使用的代码是PS C:\temp\new>Get ChildItem-Filter.J“-Recurse | Rename Item-NewName{$\uu.name-replace`.J','.J'}。再次感谢..当您的文件已经是大写时,您需要在{$Culture.textinfo.totitlecase..
。希望它能帮助到别人。如果你需要它来不改变jpg中的J,你可以尝试-NewName{[regex]::Replace($.FullName,“(^ |”),{$args.ToUpper()}
@TheMadTechnician感谢这段代码的工作……我使用这段代码PS C:\temp\new>Get ChildItem-Filter.J“-Recurse | Rename Item-NewName{$\u.name-replace`.J','.J'}无论如何再次感谢..当您的文件已经是大写时,您需要在{$Culture.textinfo.totitlecase..
之前使用toLower()
方法。希望这对其他人有所帮助。