• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチでファイルのコピーを行いたい)

バッチでファイルのコピーを行う方法とリトライの方法について

notnotの回答

  • notnot
  • ベストアンサー率47% (4856/10272)
回答No.6

for %%F in (C:\A\cp_from\*.csv) do (  copy %%F C:\A\cp_to\ || (  timeout /t 60 & copy %%F C:\A\cp_to\ || (  timeout /t 60 & copy %%F C\A\cp_to\ ))) とかですかね。テストしてませんが。 あるいは、「すべて存在するとは限らない。リトライしたい」というのが、 まだできてないファイルがあれば出来るのを待つという意味なら、違ってきますが。

amatsuno
質問者

補足

イメージとしては、上記のコマンドに、 ・2回目以降(timeout以降)の処理は、1回目の処理で失敗したファイルのみを実施する を追加したものを想定しています。 上記のロジックにerrorlevelを追加すればいいでしょうか?

関連するQ&A

  • バッチファイルの書き方

    サブフォルダすべてにひとつのファイルをコピーしたいのですが、 for /d %%a in (subdir*) do copy コピーしたいファイル名 "%%a\" 上のようなバッチファイルではうまくいきませんでした どのようにしたらいいのか、どなたか教えていただけないでしょうか

  • バッチファイル 検索してコピーするには

    cドライブのaaaフォルダ内にあるエクセルファイルをサブフォルダ内も検索し、Eドライブにコピペするコードを見つけました。 実行してみますと、aaa内に含まれるサブフォルダ内にあるエクセルファイルはコピペされますが、 aaaの直下にあるエクセルファイルはコピぺされません。 これもコピペされるようにするには、どうすれば良いか教えてください。 @echo off set Folder1=C:\aaa rem ・コピー先 set Folder2=E:\ set File=*.xls cd /d %Folder1% for /d /r %%a in ( * ) do copy "%%a\*%File%*" "%Folder2%" pause

  • バッチファイル(コピーファイルが0件のときDOSの画面を閉じたい)

    サーバーにバックアップするファイルをコピーしてコピー後削除するようにバッチファイルを作ってみたのですが コピーファイルがない場合そのまま閉じたいのですが どうしたらよいでしょう?初めて作ったので書き方がおかしいかもしれませんが見ていただけませんか? @ECHO OFF REM e-秘伝返信データのバックアップ処理 COPY C:\Kchdn\返信データ*.csv \\SVRMT003\ASBbackup\e-飛伝返信ファイル DEL C:\Kchdn\返信データ*.csv

  • エクセル マクロ 特定のフォルダ内 ファイルコピー

    エクセルのセルに入力されたフォルダを参照して、 CSVファイルを シート1・2・3・4に1度にコピーしたいのですが 例えば C\ドキュメント¥フォルダA |-フォルダB |-フォルダC                 |-フォルダD                 |-フォルダE                        |-フォルダ1                             |-CSVファイルA                         |-フォルダ2                             |-CSVファイルB                          |-フォルダ3                             |-CSVファイルC                         |-フォルダ4                              |-CSVファイルD 上記のアドレスで シート1のA1セルに フォルダEを入力し  シート2に CSVファイルA シート3に CSVファイルB シート4に CSVファイルC シート5に CSVファイルD それぞれすべての内容を貼り付けたいのですが 何分初心者なもので ご指導いただければと思います。  ちなみに A1セルの入力は変わるため各シートは1度削除した上で再度貼り付けを行いたいです。     

  • DOSバッチのコピーについて

    フォルダ内の複数ファイルを、別フォルダにコピーするバッチを作りたいと考えています。 具体的には、コピー元ファイルは、オリジナルファイル名+日付.CSVの法則で、100ファイル程度が毎日コピー元フォルダに出力されます。 コピーしたいファイルは、その都度、日付単位で変わるので、バッチ実行時に任意のコピーしたい日付を指定(入力)して、別フォルダに コピーさせたいのですが、何か方法ありますでしょうか? 尚、昔の馴染みがあり、理解しやすいので、DOSのバッチで実現できないでしょうか? 例 sample1_20081124.CSV sample2_20081124.CSV sample1_20081125.CSV sample2_20081125.CSV sample1_20081126.CSV sample2_20081126.CSV ↓ 20081125のファイルだけコピーする sample1_20081125.CSV sample2_20081125.CSV 宜しくお願い致します。

  • バッチファイルでサーバーのファイルをクライアントへコピーしたい

    サーバーに保存されているファイルを、 クライアントのCドライブへコピーしたい。 各クライアントにバッチファイルを配布して、 それを実行するだけでコピーされるようにしたいのです。 初心者で申し訳ないのですが、何卒よろしくお願いします。 ------------------------ 下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。 しかし、コピー先はバッチファイルを実行したクライアントのローカルディレクトリにしたいのです。 copy \\サーバー名\フォルダ名\ファイル名 C:\

  • バッチのcopy

    フロッピーのサブディレクトリへのファイルコピーで、コピー先のファイル名を指定しないと、コピー先ディレクトリが間違っているといわれます。 a:\tempは既存フォルダです。 @echo off copy C:\WINDOWS\デスクトップ\1.txt a:\ copy C:\WINDOWS\デスクトップ\2.txt a:\temp\ これでは2.txtがコピーできないので copy C:\WINDOWS\デスクトップ\2.txt a:\temp\2.txt のようにしなくてはなりません。 コピー先のファイル名を指定せずにコピーする方法がありましたら教えてください。

  • 1つ下のファイルをコピーするバッチファイル

    コマンドプロンプトで実行するバッチファイル(x.bat)で C:\Aというフォルダのさらに1つ下のフォルダ (このフォルダは1つのみで名前は毎回変化します) の中にあるc.mpgというファイルを D:\Bフォルダにコピーするバッチファイルを 作りたいのですがどのように記述すればよいのでしょうか。 例えば、C:\A\data_20120922195626というフォルダ (data_20120922195626というフォルダ名は任意の名前ですが C:\Aフォルダの中にはこのフォルダ1つしかありません) の中に\c.mpgというファイルがあるとします。 バッチファイル x.bat を実行すると D:\Bフォルダにc.mpgをコピーしたいのです。 なお、data_20120922195626というフォルダの名前は バッチファイルを実行する時には毎回異っていますが バッチファイル実行中は変化しません。 VBscriptやwshなどは使わずWindosXPの標準DOS機能のみで お願いします。(WindosXP SP3)

  • ACCESS2000でファイルをコピー

    こんにちは。 よろしくお願いいたします。 コマンドAボタンをクリックすると、c:\faileA\copy.csvをc:\faileBにコピーまたは、移動をする方法はありますでしょうか? どうかご教授ください。

  • VBA バッチファイルでコピー出来ない

    以下のマクロを作りましたが、うまくいきません。 フォルダBにあるバッチファイルを実行するだけのマクロで、バッチファイルはフォルダAにあるファイルを自身のフォルダつまりフォルダBにコピーするものです。 マクロ Sub Test() Dim Str As String Str=shell(folderB\batch.bat, vbnormalfocus) End sub Batch.batの中身 Copy folderA\fileA . 注:folderAやfolderBはそれぞれのフォルダのフルパスです。 実行すると、何故かフォルダBでなくてデスクトップにコピーされます。バッチファイルをクリックして直接起動すると、目論見通りフォルダBにコピーされます。コマンドプロンプトからフォルダBに移動し、バッチファイルを起動しても、目論見通りフォルダBにコピーされます。 マクロから起動した時だけ、どうしてデスクトップにコピーされるのでしょうか?