windows - sobreescribir - Archivo por lotes para ejecutar xcopy sin sobrescribir los archivos existentes
robocopy ejemplos (5)
Casi me olvido de esto en los interruptores. Me ayudó un artículo de Intercambio de Expertos.
Aquí está el cambio de significado:
/ D: mdy Copia los archivos modificados en o después de la fecha especificada. Si no se da una fecha, copia solo los archivos cuya hora de origen es más reciente que la hora de destino.
La parte "Si no se da una fecha" es de particular importancia. Esto no responde exactamente a la pregunta "sin sobrescribir los archivos existentes", pero sí la responde si la marca de tiempo del archivo de origen del archivo existente no es más reciente que el archivo de destino.
Suficientemente cerca para el trabajo del gobierno.
Necesito mi programa para ejecutar:
xcopy s:/* z:/ /E
Cuando se ejecuta xcopy, se le preguntará si es necesario sobrescribir un archivo, por lo que quiero que el archivo por lotes responda no en todos los casos a la solicitud.
¿Cómo puedo lograr esto?
Esto funciona para mí:
echo n|xcopy s:/* z:/ /E
He estado usando las siguientes banderas por años. Parece que cumple todos los comportamientos que describe en la pregunta.
xcopy s:/ z:/ /S /Y /D
S copiará todas las subcarpetas y archivos dentro de ellas Y evitará cualquier solicitud de sobrescritura D esencialmente copia cualquier cosa más nueva que la que ya está en el destino
Para evitar la pregunta y / n / todo, puede simular "escribir" usando el comando echo como: echo n | xcopy blabla ... Pero no es correcto porque cualquier pregunta diferente también responderá "n".
La mejor opción en cmd para reemplazar xcopy es: robocopy source: destination: / e [/ zb]
En el modo gráfico, hay una aplicación llamada "Teracopy" (usa google para encontrarla) que anula la copia de Windows Explorer con varias opciones (pausar, ignorar [todo], sobrescribir [todo], minimizar, ...) que me gustaría recomendar.
xcopy no puede configurarse para SALTAR archivos existentes, por lo que debe copiar con "robocopy".