重命名包含错误字符的文件

时间:2017-09-26 20:29:00

标签: regex powershell rename-item-cmdlet

我不确定我在这里做错了什么,但当我尝试使用新文件名Rename-Item时,我一直遇到错误,说我要重命名的原始文件不存在。我的目标是删除多个&#34;坏&#34;给定文件名中的字符。错误字符为[]<>:*,我目前仅查看[]以确保其在添加其余内容之前有效。

代码示例:

$Directory  = "G:\TEMP\2016\"
$ExcelFiles = Get-ChildItem $Directory -Recurse -Include *.xls,*.xlsx |
              % {$_.FullName}

foreach ($excelfile in $excelfiles) {
    #Write-Host "Checking $excelfile"

    if ($excelfile -match "\[|\]") {
        $newfilename = $excelfile -replace "[\[\]]", ""
        Rename-Item $excelfile -NewName $newfilename
    }
}

0 个答案:

没有答案