Подтвердить что ты не робот

Если XCopy скопирует файл и не перезапишет предыдущий, если он существует (без подсказки)

Я отправляю команды на удаленный компьютер, чтобы скопировать файл. Я хочу, чтобы файл был скопирован, но не для того, чтобы перезаписать предыдущий файл с тем же именем (если он существует). Мне также нужна команда для запуска без каких-либо подсказок (xcopy любит запрашивать, указано ли заданное имя, это файл или каталог, а также будет предложено перезаписать файл).

4b9b3361

Ответ 1

Невозможно заставить его НЕ перезаписывать, насколько я знаю. но /Y заставит его перезаписать. и/я избавлюсь от подсказки file/dict. См. xcopy /? для всех параметров

Ответ 2

У меня хорошие результаты с xcopy /d.

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

Ответ 3

на всякий случай, если кто-нибудь найдет это: robocopy x:\source folder Y:\destfolder/s/e/r: 0/z

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

Ответ 4

Вы также можете использовать команду replace. Он имеет два режима: добавлять файлы, которые там не существуют, или заменить файлы, которые существуют. Вам нужен предыдущий режим:

replace <path1> <path2> /A

Ответ 5

Ну, есть определенное средство! Это помогло мне сэкономить много сил и времени на Win10 во время написания установки для демонстрации нашего продукта.

Просто попробуйте использовать трубопровод:

@ECHO N | COPY / -Y Пункт назначения SourceFiles

В качестве примера я использовал этот фрагмент кода, чтобы у меня была чистая, аккуратная, тихая и безопасная копия!

@FOR /D %%F in ("FooPath") DO @(
   @ECHO N|COPY /-Y ^"%%~npdxF\*.*^" ^"GooPath^" 3>NUL 2>NUL >NUL
)

где, очевидно, FooPath является источником, а GooPath является местом назначения.

Наслаждайтесь!

(основной источник: https://ss64.com/nt/copy.html)

Ответ 6

Мне пришлось копировать и переименовывать файлы, поэтому я получил приглашение о создании файла или каталога.

Это, скорее, "хакерский" способ, я сделал это:

ECHO F | XCOPY /D "C:\install\dummy\dummy.pdf" "C:\Archive\fffc810e-f01a-47e8-a000-5903fc56f0ec.pdf"

XCOPY будет использовать "F", чтобы указать, что он должен создать цель как файл:

C:\install>ECHO F   | XCOPY /D "C:\install\dummy\dummy.html" "C:\Archive\aa77cd6e-1d19-4eb4-b2a8-3f8fe60daf00.html"
Does C:\Archive\aa77cd6e-1d19-4eb4-b2a8-3f8fe60daf00.html specify a file name or directory name on the target
(F = file, D = directory)? F
C:\install\dummy\dummy.html
1 File(s) copied

Я также проверил, что эта команда оставляет только существующие файлы. (Вы также должны: -)

Ответ 7

Следующая команда копирует файлы и папку, но не переопределяет файл, если он уже существует.

xcopy "*.*" "C:\test\"  /s /y /d