ファイルがいっぱい入ったフォルダがあり、それらはすべて次のようになっています:
フレーム_番号_遅れ-番号.gif
削除したいフレーム_そしてその_遅れ一部。
助けてください!
答え1
これには PowerShell を使用できます。 PowerShell を開いて、名前を変更するファイルが含まれているフォルダーに移動しますcd
。次に、次のコマンドを実行します。
cd C:\Path\to\your\folder
Get-ChildItem -Filter *.gif -File | Foreach-Object { Rename-Item -Path $_.FullName -NewName $_.Name.replace("frame_","").replace("_delay","") -WhatIf }
-WhatIf
これはドライ ランであることを意味します。表示された結果に満足したら、これを削除して実際にファイルの名前を変更します。
答え2
Megamorf さんの回答は正しいですが、改善の余地があります。私の意見を述べさせていただきます。
コマンドは 1 行に短縮できます。
Get-ChildItem -Path "C:\Path\to\folder" -Filter "*.gif" -File -Recurse | % { Rename-Item -Path $_.FullName -NewName $($_.Name -replace "frame_|_delay") -WhatIf }
コマンド内の「C:\path\to\folder」は実際のパスのプレースホルダーです。コマンドを実行するときに、パスを実際のパスに置き換えます。
スイッチ-Recurse
はサブディレクトリも処理するコマンドを指定します。
%
{
スクリプト ブロック (との間にあるコマンド}
) で使用する場合、 は のエイリアスです。ForEach-Object
スクリプト ブロックに続いて使用しない場合は、剰余演算子 (つまり21 % 6
を返す3
) を意味するため、 を使用するのが一般的%
ですForEach-Object
。
演算子-Replace
は正規表現の一致を使用するため、置換を指定する必要がなく、1 つの手順で 2 つの文字列を置換でき、多くの文字を節約できます。
答え3
ソフトウェアを使用する名前変更者。 それは無料です。
テキストを含む削除ルールframe_
と、 を含む別の削除ルールを作成します_delay
。