Как сказать «нет» всем запросам «Вы хотите перезаписать» в копии командного файла? - PullRequest
52 голосов
/ 10 октября 2008

По умолчанию при копировании из командной строки вам будет предложено перезаписать файлы, которые уже существуют в целевом расположении.

Вы можете добавить "/ Y", чтобы сказать "Да для всех" замен.

Но как вы можете сказать «Нет всем»?

Другими словами, я хочу скопировать все из одного каталога, который не уже существует в цели.

Самое близкое, что я вижу, это аргумент XCOPY, который копирует вещи только после определенного мода-даты-времени.

Ответы [ 14 ]

70 голосов
/ 10 октября 2008

Если не существует сценария, в котором вы не хотите скопировать существующие файлы в источнике, которые изменились со времени последней копии, почему бы не использовать XCOPY с / D без указания даты?

28 голосов
/ 16 декабря 2011
echo "No" | copy/-Y c:\source c:\Dest\
21 голосов
/ 08 января 2010

Вы можете создать текстовый файл с единственной длинной строкой «n», затем запустить свою команду и поставить после нее Или вы можете просто что-то удерживать клавишу n, но это занимает больше времени, чем использование <для передачи по трубопроводу.

11 голосов
/ 10 октября 2008

Вот обходной путь. Если вы хотите скопировать все из A, которого еще нет в B:

Скопируйте A в новый каталог C. Скопируйте B на C, переписав все, что совпадает с A. Скопируйте C в B.

6 голосов
/ 07 апреля 2016

Я знаю, вы все думаете, что / D: date будет использовать материал для дат, но просто / D без: делает именно то, что мы хотим, чтобы ...

xcopy {Source} {Destination} /E /D 

Будет копировать без перезаписи, чтобы забрать те файлы, которые являются новыми или, возможно, произошли сбой раньше по какой-либо причине.

Просто попробуйте, это работает.

6 голосов
/ 10 октября 2008

Я использую 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.
5 голосов
/ 10 октября 2008

Я ожидаю, что 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.

-Adam

4 голосов
/ 18 июля 2014

эхо N | copy / -y $ (SolutionDir) SomeDir $ (OutDir)

4 голосов
/ 03 мая 2012

отлично работает

no | cp -rf c:\source c:\Dest\
3 голосов
/ 01 мая 2015

Спасибо за это. Я использую утилиту командной строки AzCopy (v 3.1.0.93) для перемещения ~ 1 миллиона файлов с локального ПК в хранилище BLOB-объектов Azure. У меня есть несколько дубликатов, и я не могу присматривать за копией, чтобы ответить на каждое приглашение, и не хочу повторно загружать один и тот же файл.

Утилита AzCopy предлагает команду / Y для подавления запросов на подтверждение, но в итоге говорит перезаписать файл назначения. Пройдя по этому маршруту, я смог получить его, чтобы НЕ повторно загрузить файл. Тем не менее, это выглядит как хакерство, поскольку на самом деле он не отвечает на приглашение «Нет», вместо этого я получаю сообщение об ошибке «Не получено никакого ввода, когда пользователю необходимо сделать выбор из нескольких заданных опций». но не загружает файл.

Вот команда, которую я использовал: echo n | AzCopy / Source: "{путь к файлу}" / Dest: "{URL хранилища BLOB-объектов}" / DestKey: {ключ}

Надеюсь, это поможет следующему парню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...