我有一个 Windows 文件系统,其中我们的备份软件出现故障,重命名了数百个文件。
变化如下:
“ABC.PDF”->“ABC.PDF.BAK”
这发生在目录中的某些文件中,但并非全部文件。
我想将这些文件重命名为旧名称,但脚本应该输出或忽略无法做到这一点的情况,因为“ABC.PDF”已经存在。
我对批处理脚本完全不熟悉,但是 powershell 也可用。
答案1
您可以在 powershell 中执行类似这样的操作:
$files = dir *.BAK
foreach($file in $files) {
Rename-Item $file $file.BaseName -ErrorAction Ignore
}
仅当这些文件不再存在或者您尝试覆盖文件时才会出现错误。
如果您想先了解它会做什么,请添加 -WhatIf 标志。