登录
登录 注册新账号
注册
已有账号登录
Powershell 批量重命名文件中含有 [] 导致报错
Huang ChuanTong 阅读 1,481 次
12月31日发布

下载的所有文件中都包含了 "[下载网站地址]", 按照常规方法

Get-ChildItem "D:Bluey" -Recurse |ForEach-Object{Rename-Item -Path $_.FullName -NewName $_.FullName.Replace('old','new')}

一直报告无法发现源文件,查阅后得知当文件名中包含特殊字符,需要使用 -LiteralPath 参数。

Get-ChildItem "D:Bluey" -Recurse |
Where-Object {$_.Name -match '[.+]' } |
foreach {
    Rename-Item -LiteralPath $_.FullName -NewName $($_.Name -replace '[.+]','-')
}

将[]和其间字符替换为-。

©著作权归作者所有:来自51CTO博客作者wyr80的原创作品,如需转载,请注明出处,否则将追究法律责任