![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
バッチを利用してファイルのコピーを実施しようとしておりまあす
あるフォルダ内にあるファイルをすべて別のフォルダに移動したいのですが、
このとき、
・コピー対象のファイルは、MAXで11ファイル(cpfile1.csv-cpfile11.csv)ですが、すべて存在するとは限らない
・コピーに失敗したファイルは、あと2回コピーのリトライをする
(MAX3回コピーを実施する)
・途中でコピーが失敗したファイルがあったとしても、フォルダ内のすべてのファイルに対してコピーを行う
copy /Y c:A\cp_from\*.csv c:A\cp_to\*.csv
で行おうとしたのですがこの場合、2回のリトライを行う方法が不明でした
for文を利用して行うべきなのでしょうか?
またその時にはどのように書けばよいのでしょうか>
お分かりになられる方がおりましたら、ご教授お願いいたします
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\
)))
とかですかね。テストしてませんが。
あるいは、「すべて存在するとは限らない。リトライしたい」というのが、
まだできてないファイルがあれば出来るのを待つという意味なら、違ってきますが。
この回答への補足
イメージとしては、上記のコマンドに、
・2回目以降(timeout以降)の処理は、1回目の処理で失敗したファイルのみを実施する
を追加したものを想定しています。
上記のロジックにerrorlevelを追加すればいいでしょうか?
No.5
- 回答日時:
OS何使ってますか?
XP用でもR:nオプションは有るんですけど。
::
:: 再試行オプション:
::
/R:n :: 失敗したコピーに対する再試行数: 既定値は 1,000,000。
/W:n :: 再試行と再試行の間の待機時間: 既定値は、30 秒です。
/REG :: /既定の設定としてレジストリに R:n と /W:n を保存します。
/TBD :: 共有名が定義されるのを待ちます (再試行エラー 67)。
この回答への補足
R:nオプションでリトライは分かっているのですが、
コピー先の環境が
・そこにファイルが置かれた瞬間に処理を実施する
(コピー先の環境からまた別の環境へファイルを移動させ、処理を行う。その後、同一のファイル名のファイルが来た場合、エラー処理を実施する)
という仕様になっているため、
一度成功したファイルを再度コピーするとエラーになります。
そのため、リトライは「コピーに失敗したファイルのみ」を実施したいというのが可能なのかが不明点です。
例:
cpfile1.csv-cpfile11.csvをコピーするとき、
1回目のコピー処理でcpfile7.csvが失敗した場合に、
・1回目のコピー処理で残りのcpfile8.csv-cpfile11.csvのコピーを実施する
・2回目のコピー処理(リトライ)では、cpfile7.csvのみコピー処理を実施する
上記が可能なのでしょうか?
(robocopyでは、例のような場合、再度cpfile1.csvーcpfile11.csvのすべてをコピーしようとするのではないでしょうか?その場合、コピー先のフォルダには次処理によって既に1回目のコピー処理でコピーされたファイルが消えているのですべてコピーされてしまい、エラー処理が返されてしまいます)
No.4
- 回答日時:
robocopy /?
としてヘルプ見てください。
リトライに関する記述も明確に記載されています。
この回答への補足
ヘルプを確認したのですが、
リトライの際、ファイルを指定できないように見えるのですが、
ファイルを抽出する手段があるのでしょうか?
(このファイルのコピーに失敗したので、このファイルのコピーのみを再度コピーすることが可能なのでしょうか?)
見る限り、
(1)コピーに失敗
(2)/W:* で指定した時間待つ
(3)待機後、再度全量のコピーを実施する
(4)/R:*で指定した回数実施する
のロジックと思うのですが、ここで(3)の処理の際に、全量ではなく、直前で失敗したファイルのみのコピーを実施できるかが分かりませんでした
No.3
- 回答日時:
OSがVista以降なら、robocopyというのが入っています。
robocopyでフォルダをバックアップ/同期させる
http://www.atmarkit.co.jp/ait/articles/0704/20/n …
この回答への補足
robocopyも考えたのですが、
・コピーに失敗したファイルは、あと2回コピーのリトライをする
(MAX3回コピーを実施する)
が実現できるかが分かりませんでした。
フォルダ内で失敗したファイルを選定してコピーの再実行することは可能なのでしょうか?
No.2
- 回答日時:
この回答への補足
xcopyも考えたのですが、
・コピーに失敗したファイルは、あと2回コピーのリトライをする
(MAX3回コピーを実施する)
が実現できるかが分かりませんでした
xcopyでも失敗したファイルを選定して再度のコピーを実行することが可能なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 04:23
- Windows Vista・XP windows10 フォルダを上書きするときに、元のフォルダを全て削除してコピーする方法 3 2022/05/22 00:53
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
エクセルのハイパーリンクがコ...
-
[エクセル]コピーするとオブジ...
-
Vba初心者です。下記のコード助...
-
バッチファイル 別ファイルにリ...
-
C言語について教えて欲しいです...
-
vbsでファイルやフォルダのコピ...
-
DOSコマンドのコピー完了判定
-
VBSでExcelシートのコピー
-
アクセス クエリを別のファイ...
-
bat 同名ファイルコピー時にリ...
-
バッチファイル XCOPYで上書き...
-
Runtime.exec()について
-
エクセルの保護ビューについて
-
Excelのマクロについて教えてく...
-
エクセル2010、図が大きすぎま...
-
Excel VBAで値コピーが使用でき...
-
コマンドプロンプトで、指定し...
-
FTPとファイルコピーの違いにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
バッチファイル XCOPYで上書き...
-
frxファイルの役目
-
エクセルVBAで開いているファイ...
-
エクセルのハイパーリンクがコ...
-
[エクセル]コピーするとオブジ...
-
バッチファイル 別ファイルにリ...
-
Vba初心者です。下記のコード助...
-
ファイルサーバ上のファイルが...
-
Gitについて質問。 クローンし...
-
エクセル2010、図が大きすぎま...
-
バッチファイルのコピーで
-
現在のブックを閉じないで、マ...
-
エクセルのマクロについて教え...
-
vbsでExcelのシートをコピーす...
-
同じファイル名 上書きしないフ...
-
アクセス クエリを別のファイ...
-
マインクラフトPCをプレイしよ...
-
xcopyでのバッチコピー方法でコ...
-
開いている別のファイルにExcel...
おすすめ情報