60

デフォルトでは、コマンド プロンプトからコピーすると、コピー先の場所に既に存在するファイルを上書きするように求められます。

「/Y」を追加して、「すべてはい」の置換を行うことができます。

しかし、どうして「ノー」と言えますか?

つまり、ターゲットにまだ存在しない1 つのディレクトリからすべてをコピーしたいということです。

最も近いのは、特定の mod-datetime 以降のもののみをコピーする XCOPY 引数です。

4

14 に答える 14

74

最後のコピー以降に変更されたソース内の既存のファイルをコピーしたくないシナリオがない限り、日付を指定せずに /D で XCOPY を使用してみませんか?

于 2008-10-10T13:33:00.840 に答える
33
echo "No" | copy/-Y c:\source c:\Dest\
于 2011-12-16T07:47:14.467 に答える
21

「n」の長い 1 行でテキスト ファイルを作成し、コマンドを実行して、その後ろに < nc.txt を追加します。「上書きなし」が必要な145,000以上のインスタンスをコピーするためにこれを行い、この方法でうまくいきました。

または、何かで n キーを押したままにすることもできますが、< を使用してパイプするよりも時間がかかります。

于 2010-01-08T19:24:00.547 に答える
11

これが回避策です。A から B にまだ存在しないものをすべてコピーする場合:

A を新しいディレクトリ C にコピーします。B を C にコピーし、A と重複するものはすべて上書きします。C を B にコピーします。

于 2008-10-10T13:23:09.720 に答える
7

/D: date は日付要素を使用すると考えていることはわかっていますが、: を使用しない /D だけで、まさに私たちが望んでいることを実行できます...

xcopy {Source} {Destination} /E /D 

新しいファイルや何らかの理由で以前に失敗した可能性のあるファイルをピックアップするために、上書きせずにコピーします。

試してみてください、うまくいきます。

于 2016-04-07T15:39:17.047 に答える
7

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.
于 2008-10-10T13:54:05.647 に答える
5

これは問題なく動作します

no | cp -rf c:\source c:\Dest\
于 2012-05-03T09:44:20.573 に答える
5

xxcopyにはそのためのオプションがあると思います。

ビンゴ:

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.

-アダム

于 2008-10-10T13:21:27.320 に答える
4

エコー N | copy /-y $(SolutionDir)SomeDir $(OutDir)

于 2014-07-18T10:32:35.210 に答える
3

これをありがとう。コマンド ライン ユーティリティ AzCopy (v 3.1.0.93) を使用して、約 100 万個のファイルをローカル PC から Azure BLOB ストレージに移動しています。いくつかの重複があり、コピーを子守して各プロンプトに答えることができず、同じファイルを再アップロードしたくありません。

AzCopy ユーティリティは、確認プロンプトを抑制する /Y コマンドを提供しますが、最終的に宛先ファイルを上書きするように指示します。このルートをたどると、ファイルを再アップロードしないようにすることができました。ただし、実際にはプロンプトに「いいえ」と答えているわけではないため、ちょっとしたハックのように思えます。ファイルをアップロードしません。

使用したコマンドは次のとおりです。AzCopy /Source:"{ファイル パス}" /Dest:"{BLOB ストレージ URL}" /DestKey:{キー}

これが次の人に役立つことを願っています。

于 2015-05-01T12:36:58.603 に答える
3

これを試して:

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)
于 2014-08-27T13:58:40.683 に答える
2

コピーするファイルのサイズと数に応じて、最初に「すべてはい」を使用して宛先ディレクトリをソースにコピーし、次に「すべてはい」を設定して元のコピーを実行できます。これで同じ結果が得られるはずです。

于 2008-10-10T13:23:00.593 に答える
0

「invoke-command」から「robocopy」を使用して、環境内の大量の VM をコピーしました。「robocopy」が予期せず終了し、プロセス全体がダウンすることがあることがわかりました。そこで、「xcopy」を使用することにしました。今、それが機能していることを確認しており、その関数 (powershell) を使用して「すべてではありません」オプションを「作成」します。

function gen_long_no([string]$path) { $result = ""; Get-ChildItem $path -Recurse | ? { if ($_.PSIsContainer -eq $false) { $result += "n" } }; $結果を返す}

多分誰かを助ける。

于 2016-03-29T08:28:46.860 に答える
0

サブディレクトリと検証用のスイッチを追加すると、問題なく動作します。エコー n | xcopy/-Y/s/e/vc:\source*.* c:\Dest\

于 2018-11-16T03:47:17.230 に答える