Copie un archivo con diálogo y también sobrescriba el archivo

Aquí hay dos líneas de código:

    My.Computer.FileSystem.CopyFile(sourceItemPath, destinationItemPath, FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)
    My.Computer.FileSystem.CopyFile(sourceItemPath, destinationItemPath, True)

Quiero copiar un archivo con el cuadro de diálogo de Windows, que logra la primera línea. Sin embargo, si el archivo existe, deseo que se sobrescriba.

La segunda línea sobrescribe el archivo si existe, pero no muestra el cuadro de diálogo.

¿Cómo puedo copiar el archivo con el cuadro de diálogo y también sobrescribir el archivo si existe?

preguntado el 28 de julio de 12 a las 08:07

no veo el problema? Mostrar el diálogo da la usuario la elección de qué hacer. ¿Desea sobrescribir el archivo, incluso si le dicen que no lo haga? Si es así, corre con la segunda opción. Si no... ¿qué estás pidiendo? -

Nunca he usado este cuadro de diálogo, pero supongo que muestra un progreso. ¿Quizás quiere mostrarle al usuario el progreso de la copia del archivo, pero no es opcional si sobrescriben? -

@Origin Ahh, sí, lo tengo. Me olvidé de los diálogos de progreso. +1 a tu respuesta en ese caso -

2 Respuestas

Simplemente puede borrar el archivo si existe y luego llamar al CopyFile sin la bandera, porque no será necesaria una sobrescritura.

Respondido 29 Jul 12, 03:07

Eso es lo que he decidido hacer. Me preguntaba si había un indicador para configurar la opción de sobrescritura automática, pero lamentablemente no. - Darryl Janecek

Por lo que sé, eso no funciona con el cuadro de diálogo de copia de Windows incorporado, ya que está diseñado para permitir que el usuario decida qué hacer en caso de conflictos.

Esa es la razón por la que se puede llamar al método CopyFile() ya sea mostrando el diálogo o en silencio con el indicador de sobrescritura.

Supongo que debe implementar un cuadro de diálogo personalizado usted mismo para lograr lo que desea.

Respondido 29 Jul 12, 02:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.