「.BAK」で終わるすべてのファイルの名前を変更する方法

「.BAK」で終わるすべてのファイルの名前を変更する方法

私の 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 フラグを追加します。

関連情報