フォルダー内のすべてのファイルとフォルダーにプレフィックスを追加するにはどうすればよいですか?(ウィンドウズ)


14

次のコマンドは、ファイル名のみを変更し、フォルダーは変更しません。

for %a in (*) do ren "%a" "00_%a"


バッチファイルを絶対に使用する必要がありますか?Rename Masterのようなプログラムを使用してこれを行うことはできませんか?
Dour High Arch '18

回答:


15

次のコマンドは、ファイル名のみを変更し、フォルダーは変更しません。

for %a in (*) do ren "%a" "00_%a"

ノート:

  • for上記のように使用することはお勧めしません。
  • ファイルの名前が複数回変更される可能性があります。
  • 理由は以下をご覧ください。

cmdシェルで以下を使用します。

for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"

バッチファイルでは(置き換え%%%):

for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"

注意:

単純ではなく、使用することが重要です。FOR /FFOR

FOR /Fギャザー結果全体DIRのコマンドには、単純なのに対し、反復処理を開始する前にFOR内部バッファがいっぱいになった後に、同じファイルを複数回名前変更のリスクを追加した、反復処理を開始します。

複数のファイル名の最後に「テキスト」を追加するための彼の答えでdbenhamがアドバイスしたように:


参考文献


0

このForループをファイルではなくフォルダー(ディレクトリ)で実行するには、/Dスイッチを含めるだけです。

for /D %a in (*) do ren "%a" "00_%a"

からfor /?

FOR / D%variable IN(セット)DOコマンド[コマンドパラメータ]

If set contains wildcards, then specifies to match against directory
names instead of file names.

renフォルダで機能します。制限は、あなたがターゲットに別のドライブまたはパスを指定することはできません」ということです。
DavidPostill

@DavidPostillええ、それは忍び寄る古い習慣だったので、に戻しましたRen
Ƭᴇcʜιᴇ007

1つのコマンドでファイルとフォルダーの両方を実行できます(私の回答を参照)。またfor /d、値を複数回処理しようとする問題もあるのではないかと思います(私の回答も参照してください)。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.