在 Windows 中批量重命名保留文件名

在 Windows 中批量重命名保留文件名

尝试批量重命名保存到我们系统中的某些 Windows 保留文件名时遇到问题。例如“Con.PDF”-“Con”由 Windows 保留,默认情况下您无法使用此名称保存文件,但是,我们的一个网络共享中有很多这样的文件,我们需要重命名它们。我尝试使用批量重命名实用程序、CMD 以及最近的 Powershell,但无法使其工作 - 它们都引用“文件不存在”。有人知道我们可以做到这一点的方法吗,或者修改我们当前的命令以使其工作?我对此没有选择,下面是我的 Powershell;

$X = 0
$Files = $Null
$Files = Get-Childitem  \\NetworkShare1\Folder1\Folder2 -Recurse -File -Filter *.PDF | Where {(($_.Name -Match 'Con.PDF') -And ($_.Name -NotMatch 'APP SEA'))} | Foreach-object {

#Start ForEach-Object Block
$X = $X + 1
$OldName = $_.name
$NewName = $_.name -replace 'Con',"Con$X"
$FullName = $_.FullName
Rename-Item -LiteralPath "$FullName" -NewName "$NewName" -Force
}

当我查询每个变量时,路径看起来是正确的,并且我将其与其他未命名为 Con 的文件一起使用,非常感谢您的帮助。谢谢。

答案1

也许可以尝试:

Dir | Rename-Item -NewName {$_.name -replace "OLD-PART-OF-FILE-NAME","NEW-PART-OF-FILE-NAME"}

您需要进入要更改文件名的文件夹。

OLD-PART-OF-FILE-NAME 是您要替换的文件名的一部分。例如,如果您要将 textfile.txt 中的 textfil 替换为 folderfol,则 textfil 将进入 OLD-PART-OF-FILE-NAME,而 folderfol 将进入 NEW-PART-OF-FILE-NAME。

相关内容