文件名中含有中括号等特殊符号,重命名时加上 -LiteralPath 即可解决。
下载了一些电子书,文件名中都包含“[读书分享ebooklist.mobi]”,一个个的修改太费劲了。于是想用powershell批量修改一下。
$root = "F:\临时\test"
Get-ChildItem -Path $root | % {
$dirName = $_.Name
$files = Get-ChildItem -LiteralPath $_.FullName
$files | % {
Rename-Item -LiteralPath $_.FullName -NewName $dirName.Replace('[读书分享ebooklist.mobi]','')
}
}
# 精简后
$root ="F:\临时\test"
Get-ChildItem $root|%{
Rename-Item -LiteralPath $_.FullName -NewName $_.Name.Replace('[读书分享ebooklist.mobi]','')
}