デフォルトでは、コマンド プロンプトからコピーすると、コピー先の場所に既に存在するファイルを上書きするように求められます。
「/Y」を追加して、「すべてはい」の置換を行うことができます。
しかし、どうして「ノー」と言えますか?
つまり、ターゲットにまだ存在しない1 つのディレクトリからすべてをコピーしたいということです。
最も近いのは、特定の mod-datetime 以降のもののみをコピーする XCOPY 引数です。
デフォルトでは、コマンド プロンプトからコピーすると、コピー先の場所に既に存在するファイルを上書きするように求められます。
「/Y」を追加して、「すべてはい」の置換を行うことができます。
しかし、どうして「ノー」と言えますか?
つまり、ターゲットにまだ存在しない1 つのディレクトリからすべてをコピーしたいということです。
最も近いのは、特定の mod-datetime 以降のもののみをコピーする XCOPY 引数です。
最後のコピー以降に変更されたソース内の既存のファイルをコピーしたくないシナリオがない限り、日付を指定せずに /D で XCOPY を使用してみませんか?
echo "No" | copy/-Y c:\source c:\Dest\
「n」の長い 1 行でテキスト ファイルを作成し、コマンドを実行して、その後ろに < nc.txt を追加します。「上書きなし」が必要な145,000以上のインスタンスをコピーするためにこれを行い、この方法でうまくいきました。
または、何かで n キーを押したままにすることもできますが、< を使用してパイプするよりも時間がかかります。
これが回避策です。A から B にまだ存在しないものをすべてコピーする場合:
A を新しいディレクトリ C にコピーします。B を C にコピーし、A と重複するものはすべて上書きします。C を B にコピーします。
/D: date は日付要素を使用すると考えていることはわかっていますが、: を使用しない /D だけで、まさに私たちが望んでいることを実行できます...
xcopy {Source} {Destination} /E /D
新しいファイルや何らかの理由で以前に失敗した可能性のあるファイルをピックアップするために、上書きせずにコピーします。
試してみてください、うまくいきます。
XCOPY
.NET アセンブリをコピーするために、次のパラメーターを使用します。
/D /Y /R /H
/D:m-d-y - Copies files changed on or after the specified date. If no date is given, copies only those files whose source time is newer than the destination time.
/Y - Suppresses prompting to confirm you want to overwrite an existing destination file.
/R - Overwrites read-only files.
/H - Copies hidden and system files also.
これは問題なく動作します
no | cp -rf c:\source c:\Dest\
ビンゴ:
http://www.xxcopy.com/xxcopy27.htm#tag_231
2.3 By comparison with the file in destination
The switches in this group select files based on the
comparison between the files in the source and those in
the destination. They are often used for periodic backup
and directory synchronization purposes. These switches
were originally created as variations of directory backup.
They are also convenient for selecting files for deletion.
2.3.1 by Presence/Absence
The /BB and /U switches are the two switches which select
files by the pure presence or absence as the criteria.
Other switches in the this group (Group 2.3) are also
affected by the file in the destination, but for a
particular characteristics for comparison's sake.
/BB Selects files that are present in source but not in destination.
/U Selects files that are present in both source and destination.
-アダム
エコー N | copy /-y $(SolutionDir)SomeDir $(OutDir)
これをありがとう。コマンド ライン ユーティリティ AzCopy (v 3.1.0.93) を使用して、約 100 万個のファイルをローカル PC から Azure BLOB ストレージに移動しています。いくつかの重複があり、コピーを子守して各プロンプトに答えることができず、同じファイルを再アップロードしたくありません。
AzCopy ユーティリティは、確認プロンプトを抑制する /Y コマンドを提供しますが、最終的に宛先ファイルを上書きするように指示します。このルートをたどると、ファイルを再アップロードしないようにすることができました。ただし、実際にはプロンプトに「いいえ」と答えているわけではないため、ちょっとしたハックのように思えます。ファイルをアップロードしません。
使用したコマンドは次のとおりです。AzCopy /Source:"{ファイル パス}" /Dest:"{BLOB ストレージ URL}" /DestKey:{キー}
これが次の人に役立つことを願っています。
これを試して:
robocopy "source" "destination" /e /b /copyall /xo /it
その行をメモ帳にコピーし、.bat ファイルとして保存します。ファイルを実行すると、ソースから宛先にすべてがコピーされます。再度実行すると、同一のファイルは置き換えられません。あなたが変更するか、ファイルが変更されると、宛先のファイルが置き換えられます。
テストしてください。いくつかの作業を含む .txt ファイルを作成し、スクリプトを実行し、.txt ファイルの文言を変更してスクリプトを再度実行しました。ソースからの変更ファイルのみを置き換えます。
/e=Copies subdirectories. Note that this option includes empty directories
/b=Copies files in Backup mode
/copyall=Copies all file information
/xo=Excludes older files. (this is what prevents it from copy the same file over and over)
/it=Includes "tweaked" files. (this will allow the copy and replace of modified files)
コピーするファイルのサイズと数に応じて、最初に「すべてはい」を使用して宛先ディレクトリをソースにコピーし、次に「すべてはい」を設定して元のコピーを実行できます。これで同じ結果が得られるはずです。
「invoke-command」から「robocopy」を使用して、環境内の大量の VM をコピーしました。「robocopy」が予期せず終了し、プロセス全体がダウンすることがあることがわかりました。そこで、「xcopy」を使用することにしました。今、それが機能していることを確認しており、その関数 (powershell) を使用して「すべてではありません」オプションを「作成」します。
function gen_long_no([string]$path) { $result = ""; Get-ChildItem $path -Recurse | ? { if ($_.PSIsContainer -eq $false) { $result += "n" } }; $結果を返す}
多分誰かを助ける。
サブディレクトリと検証用のスイッチを追加すると、問題なく動作します。エコー n | xcopy/-Y/s/e/vc:\source*.* c:\Dest\