web-dev-qa-db-ja.com

バッチファイルコピー内のすべての「上書きしますか?」プロンプトに対してノーと言う方法は?

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

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

しかし、どのように「いいえ」と言うことができますか?

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

私が見る最も近いものは、特定のmod-datetimeの後にのみコピーするXCOPY引数です。

53
JosephStyons

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

70
Kev
echo "No" | copy/-Y c:\source c:\Dest\
29
krishnan

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

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

21
Chris

回避策は次のとおりです。 Bにまだ存在しないAからすべてをコピーする場合:

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

11
Liam

.NETアセンブリをコピーするには、XCOPYを次のパラメーターとともに使用します。

/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.
6
chitza

/ D:日付は日付のものを使用するだろうと思うのは知っていますが、:なしの/ D:だけで、私たちが望むようになります...

xcopy {Source} {Destination} /E /D 

何らかの理由で以前に失敗した可能性のある新しいファイルをピックアップして上書きすることなくコピーします。

試してみてください、動作します。

6

xxcopy には option があります。

ビンゴ:

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.

-アダム

5
Adam Davis

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

4
Lufi

これはうまくいく

no | cp -rf c:\source c:\Dest\
4
ghostCoder

これを試して:

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)
3
Jeff Tondreau

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

AzCopyユーティリティは、確認プロンプトを抑制する/ Yコマンドを提供しますが、最終的に宛先ファイルを上書きするように指示します。このルートに行くと、ファイルを再アップロードしないようにすることができました。ただし、実際には「いいえ」でプロンプトに応答しないため、ハックのように見えますが、代わりに「ユーザーがいくつかのオプションから選択する必要があるときに入力がありません」というエラーが表示されます。ただし、ファイルはアップロードしません。

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

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

3
ammills01

コピーするファイルのサイズと数に応じて、最初に「yes to all」で宛先ディレクトリをソースにコピーし、次に「yes to all」を設定して元のコピーを実行できます。それはあなたに同じ結果を与えるはずです。

2
tloach

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

function gen_long_no([string] $ path){$ result = ""; Get-ChildItem $ path -Recurse | ? {if($ _。PSIsContainer -eq $ false){$ result + = "n"}}; return $ result}

たぶん誰かを助けます。

0
blinker

サブディレクトリと検証用のスイッチを追加しても問題ありません。エコーn | xcopy/-Y/s/e/v c:\ source *。* c:\ Dest \

0
John Salter