one msdos force files create batch another batch-file copy

batch file - msdos - Cómo decir no a todas las indicaciones "¿desea sobrescribir" en una copia de archivo por lotes?



robocopy batch (13)

A menos que exista una situación en la que no desee copiar los archivos existentes en el origen que han cambiado desde la última copia, ¿por qué no usar XCOPY con / D sin especificar una fecha?

De forma predeterminada, copiar desde el símbolo del sistema le solicitará que sobrescriba los archivos que ya existen en la ubicación de destino.

Puede agregar "/ Y" para decir "Sí a todos" los reemplazos.

Pero, ¿cómo puedes decir "No a todos"?

En otras palabras, quiero copiar todo desde un directorio que aún no existe en el destino.

Lo más cercano que veo es el argumento XCOPY para copiar cosas solo después de un mod-datetime específico.


Aquí hay una solución. Si desea copiar todo de A que no existe en B:

Copie A en un nuevo directorio C. Copie B a C, sobrescribiendo todo lo que se superpone con A. Copie C a B.


Dependiendo del tamaño y la cantidad de archivos que se copien, puede copiar el directorio de destino sobre la fuente primero con "yes to all", luego hacer la copia original que estaba haciendo, también con el conjunto "yes to all". Eso debería darte los mismos resultados.


Espero que xxcopy tenga una option para eso.

Bingo:

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.

-Adán


Gracias por esto. Estoy usando la utilidad de línea de comandos AzCopy (v 3.1.0.93) para mover ~ 1 millón de archivos de mi PC local a mi almacenamiento de blob Azure. Tengo algunos duplicados y no puedo cuidar la copia para responder a cada aviso y no quiero volver a cargar el mismo archivo.

La utilidad AzCopy ofrece un comando / Y para suprimir las solicitudes de confirmación pero termina diciéndole que sobrescriba el archivo de destino. Al seguir esta ruta, pude obtener NO para volver a cargar el archivo. Sin embargo, parece un truco, ya que no responde el mensaje "No", sino que aparece el error "No se recibe ninguna entrada cuando el usuario tenía que elegir entre varias opciones". pero no sube el archivo.

Aquí está el comando que utilicé: echo n | AzCopy / Source: "{ruta del archivo}" / Dest: "{blob storage URL}" / DestKey: {key}

Espero que esto ayude al próximo tipo.


Prueba esto:

robocopy "source" "destination" /e /b /copyall /xo /it

Copie esa línea en el bloc de notas y guárdela como un archivo .bat. Ejecute el archivo y copiará todo desde el origen hasta el destino. Cuando lo ejecute de nuevo, no reemplazará los archivos que son idénticos. cuando cambia o un archivo cambia, reemplazará el archivo en el destino.

pruébalo. Creé un archivo .txt con algunos trabajos, ejecuté el script, cambié la redacción en el archivo .txt y ejecuté el script nuevamente, reemplazó solo el archivo de cambio de la fuente.

/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)


Puede hacer un archivo de texto con una sola línea larga de "n" luego ejecutar su comando y poner <nc.txt después de él. Hice esto para copiar más de 145,000 instancias donde "No sobrescribir" era lo que quería y funcionó bien de esta manera.

O simplemente puede mantener apretada la tecla n con algo, pero eso lleva más tiempo que usar el <para canalizarlo.


Sé que todos piensan / D: date va a usar material de fecha, pero solo / D sin el: hace exactamente lo que queremos así que ...

xcopy {Source} {Destination} /E /D

Copiará sin sobrescribir para recoger aquellos archivos que son nuevos o que tal vez fallaron antes por alguna razón.

Solo pruébalo, funciona.


Usamos "robocopy" a través de "invoke-command" para copiar una gran cantidad de máquinas virtuales en nuestro entorno. Descubrimos que "robocopy" sale inesperadamente algunas veces y todo el proceso disminuye. Así que decidimos usar "xcopy". Ahora estamos comprobando que es un trabajo y para "crear" la opción "No para todos" usamos esa función (powershell):

función gen_long_no ([cadena] $ ruta) {$ resultado = ""; Get-ChildItem $ path -Recurse | ? {if ($ _. PSIsContainer -eq $ false) {$ result + = "n"}}; devolver $ resultado}

Quizás ayude a alguien.


Uso XCOPY con los siguientes parámetros para copiar ensamblajes .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.


echo N | copia / -y $ (SolutionDir) SomeDir $ (OutDir)


esto funciona bien

no | cp -rf c:/source c:/Dest/


echo "No" | copy/-Y c:/source c:/Dest/