Powershell & Regex - 如何从目录中的文件名中查找和删除大写字符
Powershell & Regex - How to find and delete uppercase characters from file names in directory
我需要一个 Powershell 脚本,它可以在 目录中的所有文件名 中查找并替换大写字符。
脚本会做这样的事情:
之前的文件名:CAPITAL-letters.jpg
文件名之后:-letters.jpg
编辑:我试过 运行 这个脚本,但没用
dir | rename-item -NewName {$_.name -replace [Regex]::Escape("[A-Z"),""}
$test = "CAPITAL-letters.jpg"
$test -creplace "[A-Z]"
=> -letters.jpg
因为这得到了答案,为了完全清楚:
当你 运行 时删除 -WhatIf
。
Get-ChildItem | Rename-Item -NewName {$_.Name -creplace "[A-Z]"} -WhatIf
这会将 Get-ChildItem
传送到 Rename-Item
中,然后将 NewName
设置为旧名称,除了我们已经区分大小写地将任何大写字母替换为空。
我需要一个 Powershell 脚本,它可以在 目录中的所有文件名 中查找并替换大写字符。
脚本会做这样的事情:
之前的文件名:CAPITAL-letters.jpg
文件名之后:-letters.jpg
编辑:我试过 运行 这个脚本,但没用
dir | rename-item -NewName {$_.name -replace [Regex]::Escape("[A-Z"),""}
$test = "CAPITAL-letters.jpg"
$test -creplace "[A-Z]"
=> -letters.jpg
因为这得到了答案,为了完全清楚:
当你 运行 时删除 -WhatIf
。
Get-ChildItem | Rename-Item -NewName {$_.Name -creplace "[A-Z]"} -WhatIf
这会将 Get-ChildItem
传送到 Rename-Item
中,然后将 NewName
设置为旧名称,除了我们已经区分大小写地将任何大写字母替换为空。