Apagada docs

Aprendiendo a programar el pasado

Herramientas de usuario

Herramientas del sitio


es:bat:borrar_los_archivos_de_carpeta1_que_esten_en_carpeta2

Borrar los archivos de CARPETA1 que estén en CARPETA2 y sean iguales

Imagina la siguiente situación: has usado Robocopy para actualizar una copia de seguridad, pero olvidaste que habías cambiado el nombre de CARPETA1 a CARPETA2, por lo que en tu copia de seguridad ahora tienes CARPETA1 y CARPETA2, las dos con el mismo nombre.

Vamos a ver una solución que es un “one-liner” de CMD.

Esta solución necesita CMD.exe (CMD de Windows XP+) y no funcionará en COMMAND (línea de comandos de MsDOS, Windows 95…), porque necesita soporte extendido de variables de FOR.

Esta solución está pensada para escribirla directamente en la línea de comandos por alguien que sabe lo que hace. Sustituya % por %% si va a copiar esto en un archivo de proceso por lotes.

  1. Sustituye CARPETA1 por la unidad X:. CARPETA1 es la carpeta de donde se BORRARÁN los archivos duplicados.
    subst X: CARPETA1
  2. Sustituya CARPETA2 por la unidad Y:. CARPETA2 es la carpeta donde se CONSERVARÁN los archivos duplicados.
    subst Y: CARPETA2
  3. Compruebe que las dos letras de unidad no lleven al mismo sitio y que X: sea la carpeta donde desea BORRAR:
    subst
  4. Es aconsejable también comprobar (manualmente) que CARPETA1 no sea un link a CARPETA2, pues este script no puede comprobarlo.
  5. Escriba el siguiente “One liner” de CMD (en realidad son varias líneas pero CMD le pedirá que siga escribiendo cada vez que pulse intro):
    for /R X:\ %a in (*.*) do (
    echo n|comp "X:~%pnxa" "Y:~%pnxa"
    if errorlevel 1 (
    rem nothing
    ) else (
    del "X:~%pnxa"
    )
    )
  6. Después puede ejecutar varias veces la siguiente línea para eliminar carpetas vacías:
    for /R /D %a in (*.*) do rmdir "%a"
Este sitio web utiliza cookies. Al utilizar el sitio web, usted acepta almacenar cookies en su computadora. También reconoce que ha leído y entendido nuestra Política de privacidad. Si no está de acuerdo abandone el sitio web.Más información
es/bat/borrar_los_archivos_de_carpeta1_que_esten_en_carpeta2.txt · Última modificación: 2022/03/31 05:41 por nepenthes