• ベストアンサー

コマンドプロンプトでファイル名を変更

をしたいのです。というのは あるディレクトリの中の全部のファイル名の 頭にaaaという文字列をつけたのですが どうしたらよいかわかりません。 RENというコマンドを使う事だけはわかりました。 しかし全体を変更する方法がわかりません。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bo_Bo
  • ベストアンサー率65% (97/149)
回答No.2

#1 です。補足をします。 先のコマンド文では、ファイル名に空白が含まれていると、 コマンド・エラーとなります。 空白が含まれている場合は、 for %F in (*.*) do ren "%F" "aaa%F" のように、パラメータをダブルクォーテーションで括ってください。

Judau_MSZ-010
質問者

お礼

ありがとうございます

その他の回答 (3)

回答No.4

『ren *.* aaa*.*』 * : 任意の文字をあらわすワイルドカード; つまり test.txtというファイルがある場合に上のコマンドを 実行すれば、aaatest.txt になったはず…。 実際、自分でやってみてうまくいったのでココに書き込んだのですが、 今やってみると、うまくできませんでした。ゴメンナサイ。 test1.txt test2.txt がディレクトリ内にあると仮定して 上のコマンドを実行すると、 test1.txt ⇒ aaat1.txt 変更○ test2.txt ⇒ aaat2.txt 変更○ つまり先頭から3文字分(aaaの長さ)だけ変更されていました。 ここで aaa の部分が kaisekigo_ になるとこれの文字数分 つまり、先頭から10文字が変更されます。そうすると、 test1.txt ⇒ kaisekigo_.txt 変更○ test2.txt ⇒ kaisekigo_.txt 変更× このように同じ名前のファイルになってしまい、 >重複するファイルがあるか、ファイルが >みつかりませんでした。 とエラーが出力されるようです。 Bo_Boさんの提案してくださった方法 『for %F in (*.*) do ren "%F" "kaisekigo_%F"』 を使うのが無難のようです。 これは、『*.*』という形で名前があらわせるファイル(%F)一つ一つに対して 『ren "%F" "kaisekigo_%F"』を実行させるコマンドです。 %F は *.* なので kaisekigo_*.* に変更されます。 私はこれがしたかったのですが、うまくいきませんでした。 私が書き込みさえしなければ、Judau_MSZ-010さんも Bo_Boさんの通りに出来ていた訳で…。 間違った情報を書き込んでしまい、本当に申し訳ありません。 多大な迷惑をお掛けしたことをココに心よりお詫びいたします。 本当にごめんなさい。

Judau_MSZ-010
質問者

お礼

ありがとうございます。

回答No.3

コマンドプロンプトで『help ren』と入力したところ --------------------------------------------- ファイル (複数可) の名前を変更します。 RENAME [ドライブ:][パス]ファイル名1 ファイル名2 REN [ドライブ:][パス]ファイル名1 ファイル名2 ファイル名2 には新しいドライブもパスも指定できないので注意してください。 ------------------------------------------------- と出力されました。 ファイル1が元のファイル名。 ファイル2が変更後のファイル名です。 ディレクトリを移動しなくてもパスを指定してやればできまが 説明が分かりやすいように、移動してください。 移動していただいたら次のコマンドを入力してください。 『ren *.* aaa*.*』 これで全てのファイルの頭に"aaa"がつきます。 参考になれば幸いです。

Judau_MSZ-010
質問者

お礼

ありがとうございます

Judau_MSZ-010
質問者

補足

ありがとうございます。 aaaはできました。今度は 別の文字列をkaisekigo_ というのを つけてみたのですが、それでやると 重複するファイルがあるか、ファイルが みつかりませんでした。 とでてきます。 お願いします。

  • Bo_Bo
  • ベストアンサー率65% (97/149)
回答No.1

対象のディレクトリを“F:\TEST”と仮定。   1). コマンドプロンプトを起動。   2). カレント・ディレクトリを“F:\TEST”に移動。   3). プロンプトに以下を入力して、Enterキーを押す。     for %F in (*.*) do ren %F aaa%F ※操作対象をテキスト・ファイルに限定したいならば、  for %F in (*.txt) do ren %F aaa%F  となる。  他の拡張子の場合は、これの応用をしてください。 実作業をする前に、テスト用のディレクトリを作成して、 動作をよく確認してください。 当方、Windows XPでのみ確認済み。

Judau_MSZ-010
質問者

お礼

ありがとうございます。

関連するQ&A