Пакетный файл для запуска xcopy без перезаписи существующих файлов - программирование
Подтвердить что ты не робот

Пакетный файл для запуска xcopy без перезаписи существующих файлов

Мне нужна моя программа для запуска:

xcopy s:\* z:\ /E

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

Как я могу это сделать?

4b9b3361

Ответ 1

Я почти забыл об этом в переключателях. Мне помогла статья "Обмен экспертами".

Вот переключатель значимости:

/D: m-d-y Копирует файлы, измененные на или после указанной даты.            Если дата не указана, копируются только те файлы, чьи            время источника более новое, чем время назначения.

Значение "Если дате не указано", имеет особое значение. Это не отвечает на вопрос "без перезаписи существующих файлов", но он отвечает на него, если существующая временная метка файла исходного файла не новее, чем целевой файл.

достаточно близко для правительственной работы.

Ответ 2

Я использую следующие флаги годами. Кажется, что вы выполняете все поведение, которое вы описываете в вопросе.

xcopy s:\ z:\ /S /Y /D

S скопирует все подпапки и файлы внутри них Y предотвращает любые перезаписываемые подсказки D по существу копирует что-либо новее, чем то, что уже находится в пункте назначения

Ответ 3

xcopy не может быть настроен для прокрутки существующих файлов, поэтому вам следует скопировать с помощью "robocopy".

Ответ 4

Это работает для меня:

echo n|xcopy s:\* z:\ /E    

Ответ 5

Чтобы избежать вопроса y/n/all, вы можете моделировать "type in" с помощью команды echo как: echo n | xcopy blabla... Но это неверно, потому что любой другой вопрос будет отвечать "n" тоже.

Лучшим выбором в cmd для замены xcopy является: источник robocopy: назначение:/e [/zb]

В графическом режиме есть приложение под названием "Teracopy" (используйте google для его поиска), который переопределяет копию проводника Windows с несколькими параметрами (пауза, игнорирование [все], перезапись [все], минимизация,...), что Я бы рекомендовал.

Ответ 6

  Командный интерпретатор Windows:

for /f "delims=" %i in ('dir /b /s "source"') do (echo n | xcopy "%i" "destination"  [switches] /-y)

Windows Batch:

for /f "delims=" %%i in ('dir /b /s "source"') do (echo n | xcopy "%%i" "destination"  [switches] /-y)

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