• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XPバッチプログラムについて)

バッチファイルで複数ディレクトリから特定のファイルをコピーする方法

このQ&Aのポイント
  • Windows XPでバッチファイルを作成し、複数のディレクトリから特定のファイルをコピーする方法について教えてください。
  • すでに同じ名前のファイルが存在する場合に連番して上書きしないようにコピーする方法も教えてください。
  • 現在、バッチファイルを作成し、ディレクトリからファイルをコピーする部分は作成して動作確認済みですが、同じ名前のファイルがある場合の処理が上手くできていません。追加でどのようにすれば良いか、また全体的なコーディングについてもアドバイスをいただけると助かります。

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

  • ベストアンサー
noname#132905
noname#132905
回答No.1

下記でテストして問題なさそうなら、 下から 4行目の Copy の前の Echo を消して実行してみてね。 ポイントは、ファイル名(%~n1)と拡張子(%~x1)の間の COUNT を 一つずつ増やながら存在確認をしているところ。 ---- @Echo Off For /D %%i In (*) Do ( For %%j In ("%%i"\*test*.txt) Do ( Call :CHECK_AND_COPY "%%j" ) ) Goto END :CHECK_AND_COPY Set COUNT= :_LOOP Set DIST=%~n1%COUNT%%~x1 If Not Exist "%DIST%" Goto _NEXT Set /A COUNT=COUNT+1 Goto _LOOP :_NEXT Echo Copy %1 "%DIST%" Goto END :END ----

dairi00
質問者

お礼

ありがとうございます! if notとgo to という手もあったんですね 希望通りのものができました

関連するQ&A