0

次のようなフォルダー内のファイルの名前を変更するバッチ スクリプトがありました。

ren B:\Backups\*.bc_ *.bc

現在、多くのフォルダーにファイルがあり、バックアップにより毎日新しい名前の新しいフォルダーが作成され、複数のフォルダーでファイルの名前を変更する必要があります。どうすればいいですか?この場合、ワイルドカードを正しく使用するにはどうすればよいですか?

4

1 に答える 1

2

REN ステートメントのパスにワイルドカードを使用することはできません。FOR コマンドの何らかの形式を使用する必要があります。

B:\Backups をルートとするフォルダー階層全体のすべての *.bc_ ファイルの名前を変更するとします。

FOR /R を使用して、階層内のすべての .bc_ ファイルを繰り返し処理し、各ファイルの名前を個別に変更できます。

for /r "B:\Backups" %%F in (*.bc_) do ren "%%F" "%%~nF.bc"

または、FOR /D /R を使用して、ルートの下にあるすべてのフォルダーを反復処理し、各フォルダーに対してワイルドカード REN を実行することもできます

for /d /r "B:\Backups" %%F in (.) do ren "%%F\*.bc_" *.bc

上記のコマンドは両方とも、バッチ スクリプトで使用するように設計されています。バッチ ファイル内ではなく、コマンド ラインからコマンドを実行する場合は、各 2 パーセントを 1 パーセントに変更します。

于 2012-09-30T06:30:15.423 に答える