質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

1回答

3209閲覧

複数のファイル名をバッチで変更する方法について

ruta38

総合スコア4

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2021/06/07 13:24

複数のファイル名をコマンドでrenameしたい

複数のファイルをバッチファイルでrenameする操作についてです。

任意のディレクトリに以下のようにファイルがあります。

AAA
AAA-コピー
AAA-コピー-コピー

1 ファイルリスト作成

for %%i in (*.*) do ( echo %%i >> filelist.txt )

でファイル名の一覧を.txtで出力します

2 excelでバッチファイルファイル作成

  • テキストファイルの中身をエクセルに貼り付け
  • 張り付けた右側にリネームするファイル名
  • 張り付けた左側にrenを入力
  • コピーしてメモ帳に貼り付け、batファイルで保存

これで複数のファイルの名前を変更できると思ったのですが、実行すると構文エラーと出てしまいます。
最初の AAA のファイル名は変更出来たのですが二番目以降がエラーになります。
"コピー"と後ろにあると何か問題あるのでしょうか?
以降のファイル名も上のファイル名を倍々式で増やしているので、"コピー"が後ろに連なっています。

それともバッチの作成方法に問題がありますかね?
renしたいファイルが数百単位であるので他の方法があればどなたかご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2021/06/07 13:33

実行してるバッチそのもの(最低限エラーが発生している箇所の前後を含んだもの)ぐらいは質問文に載せるべきでは。 あと「構文エラーと出てしまいます」じゃなくて、エラーが出てるなら正確なメッセージ載せよう。
ruta38

2021/06/07 13:39

すいませんでした、質問した環境ではないのですが以下のような感じです。 ren AAA - コピー.txt aaa.txt コマンドの構文が誤っています。
BeatStar

2021/06/07 13:56

単純に、『別のコマンドライン引数だと解釈されている』可能性がありますね。 追記のメッセージであれば。 本来なら 1. ren 2. AAA - コピー.txt 3. aaa.txt となるべきが、 AAA - コピー.txt に半角スペースが含まれているため、別々のもの、つまり、 1. ren 2. AAA 3. - 4. コピー.txt 5. aaa.txt という解釈になっている気がします。 その場合は、 ダブルクォーテーション( "" ) でくくるといいですよ。 例: ren "AAA - コピー.txt" aaa.txt とかみたいに。
guest

回答1

0

ベストアンサー

原因はファイル名に空白を含んでるから。以上。

空白を含むファイル名をコマンドプロンプトやバッチファイルで使いたい場合の方法はググったらすぐわかる。

投稿2021/06/07 13:41

gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruta38

2021/06/07 13:44

すいません、ファイル名に空白を含む場合、調べたら出てきました。””で囲むんですね。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問