回答:
すべてがPowerShellの1行で実行できることに基づいて(すべてがPerlの1行でも実行できるのと同じように)、これが単一のディレクトリのPSコードです。
$i=0; get-childitem $dirname | foreach-object {
rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}
これを再帰的に行うには、上記を関数でラップし、ツリー内のすべてのディレクトリで呼び出します。正規表現を使用する必要がある場合は、フォーマット文字列をもう少し洗練されたものに置き換えることもできます。
これは少しハッキーですが、私はこれを12年間ほどやってきたので、かなり速いです:
dir >> dir.xls
ren.bat
すぐにはわからないかもしれませんが、既存のファイルからの入力(タイムスタンプ、ファイル名、サイズなど)を使用して、新しいファイルを生成するために必要なあらゆる種類の数式を使用できるため、Excelはこの種のタスクに非常に適しています。 )。
あなたはバッチファイルで何かをすることができますが、私はより多くの制御、オプションなど、そしてこれから行われることの視覚的な手がかりがより良いことを発見しました。
CKRenameという無料のツールがあります。元の作者のサイトは消えたようですが、アプリは完全に機能し、非常に人気があります(私は8年間使用しています)。 CKRenameをダウンロード
これが動作中のスクリーンショットです
ReNamer:http ://www.den4b.com/
Windowsで選択したファイルからファイル名の一部の名前を変更する方法も参照してください 。
画像付きのフォルダをReNamerにドロップします(デフォルトではサブフォルダが再帰的に追加されます)。順番を維持したい場合は、[名前]列をクリックしてファイル名で並べ替えます。特別なメタタグを使用すると、親フォルダー名を使用して名前を変更できます。次の名前変更ルールを使用します。
Total Commanderにはいくつかのクールなマルチファイルリネーム機能があります。
もちろん、Powershellを使用している場合は、owenevans00ソリューションが最適です。
RenameFiles(フリーウェア)をダウンロードします。これは、WindowsからAppleに移行して以来、私が本当に見逃している唯一のプログラムの1つです。
ここhttp://it-falke.com/software/renamefiles/us_description.phpで利用できるようですが、そのリンクをテストするPCがありません。私が使用した最後のバージョンは2.1.4でした。それは本当にシンプルで多用途でした。