[Ayuda]Como identificar dos carpetas en batch

Iniciado por TMarmol, 1 Mayo 2012, 00:03 AM

0 Miembros y 2 Visitantes están viendo este tema.

TMarmol

Bueno no se si el titulo es muy claro, lo que quiero hacer es que el programa compare dos carpetas y si pesan exactamente lo mismo que avance, pero si hay algun cambio que copie los archivos de la primera a la segunda.

Lo que quiero hacer es un programa que te organiza el ordenador, aqui una parte del codigo para que lo entendais
Código (DOS) [Seleccionar]
xcopy /y "C:\Users\TMarmol\downloads\*.exe" "C:\Users\Public\Descargas Organizadas\Aplicaciones"
xcopy /y "C:\Users\TMarmol\downloads\*.zip" "C:\Users\Public\Descargas Organizadas\Comprimidos"
xcopy /y "C:\Users\TMarmol\downloads\*.rar" "C:\Users\Public\Descargas Organizadas\Comprimidos"
xcopy /y "C:\Users\TMarmol\downloads\*.msi" "C:\Users\Public\Descargas Organizadas\Aplicaciones"
xcopy /y "C:\Users\TMarmol\downloads\*.txt" "C:\Users\Public\Descargas Organizadas\Documentos"
xcopy /y "C:\Users\TMarmol\downloads\*.pdf" "C:\Users\Public\Descargas Organizadas\Documentos"
xcopy /y "C:\Users\TMarmol\downloads\*.mp3" "C:\Users\Public\Descargas Organizadas\Multimedia"
xcopy /y "C:\Users\TMarmol\downloads\*.mp4" "C:\Users\Public\Descargas Organizadas\Multimedia"
xcopy /y "C:\Users\TMarmol\downloads\*.avi" "C:\Users\Public\Descargas Organizadas\Multimedia"
xcopy /y "C:\Users\TMarmol\downloads\*.mpg" "C:\Users\Public\Descargas Organizadas\Multimedia"


Me gustaria hacer que si todos los archivos de en este caso la carpeta downloads estan copiados a esas carpetas que no pase nada y que avance pero si hay algun archivo que no esta en cualquiera de las segundas carpetas lo copie.
Yo pense en el peso, si pesan lo mismo la carpeta Downloads que la carpeta Descargas Organizadas quiere decir que estan los mismos archivos pero si pesan distinto que copie los archivos de downloads a Descargas organizadas.

No se si me he explicado bien, cualquier sugerencia la probare para comprobar su funcionamiento

Gracias!

P.D: Alguien sabe por que ya no se ve con colorines los comandos en el spoiler code?

Eleкtro

una pregunta antes de decirte nada...  ¿Porque en vez de copiarlos no los mueves? "Move /Y", ¿No quieres?.

PD: Para resaltar la sintaxis de Batch, Tienes que clickar en la lista desplegable arriba de la otra lista desplegable "cambiar color", y elegir "DOS". De todas formas en el code que pusiste no se va a resaltar nada en ningún color xD.

Salu2.








TMarmol

Cita de: EleKtro H@cker en  1 Mayo 2012, 00:35 AM
una pregunta antes de decirte nada...  ¿Porque en vez de copiarlos no los mueves? "Move /Y", ¿No quieres?.

PD: Para resaltar la sintaxis de Batch, Tienes que clickar en la lista desplegable arriba de la otra lista desplegable "cambiar color", y elegir "DOS". De todas formas en el code que pusiste no se va a resaltar nada en ningún color xD.

Salu2.
Ya he remplazado el comando xcopy por el de move, ahora tengo un problema, como hago para copair las carpetas es decir dentro de la carpeta downloads hay varias carpetas a demas de archivos, ocmo hago para que solo copie o mueva las carpetas sin tocar el resto de archivos?

Eleкtro

#3
Cita de: TMarmol en  1 Mayo 2012, 02:47 AM
dentro de la carpeta downloads hay varias carpetas a demas de archivos,
como hago para que solo copie o mueva las carpetas

Puedes moverlas de una en una:
Código (dos) [Seleccionar]
Move "C:\Users\TMarmol\downloads\NOMBRE DE LA CARPETA" "C:\Users\Public\Descargas Organizadas\"

O de forma automática:
Código (dos) [Seleccionar]
For /F "Tokens=*" %%@ in ('Dir /B /AD "C:\Users\TMarmol\downloads\"') DO (Move "C:\Users\TMarmol\downloads\%%@" "C:\Users\Public\Descargas Organizadas\")

Salu2








TMarmol

Cita de: EleKtro H@cker en  1 Mayo 2012, 04:16 AM
Puedes moverlas de una en una:
Código (dos) [Seleccionar]
Move "C:\Users\TMarmol\downloads\NOMBRE DE LA CARPETA" "C:\Users\Public\Descargas Organizadas\"

O de forma automática:
Código (dos) [Seleccionar]
For /F "Tokens=*" %%@ in ('Dir /B /AD "C:\Users\TMarmol\downloads\"') DO (Move "C:\Users\TMarmol\downloads\%%@" "C:\Users\Public\Descargas Organizadas\"

Salu2

Lo de forma automatica lo puse pero no paso nada, y lo de poniendo su nombre no me interesa por que se trata de que cualquier carpeta que este en Downloads se copie por que si lo hago asi tendre que modificar el programa cada vez que lo valla   a utilizar, no hay ninguna forma de mover una carpeta no se, que se mueva todo menos lo que tenga algujn tipo de extension o algo por el estilo

Eleкtro

#5
Cita de: TMarmol en  1 Mayo 2012, 19:49 PM
Lo de forma automatica lo puse pero no paso nada,

Perdón, me comí el parentesis del final al escribir el code, ya está editado en mi comentario.


Cita de: TMarmol en  1 Mayo 2012, 19:49 PM
no hay ninguna forma de mover una carpeta no se, que se mueva todo menos lo que tenga algujn tipo de extension o algo por el estilo

Un ejemplo:
Código (dos) [Seleccionar]

@Echo OFF

:: Este code copia todas las carpetas del directorio "Folder1", Que no contengan archivos ".JPG", Al "Folder2".

SET "FOLDER1=C:\Users\Administrador\Desktop\Nueva carpeta\"
SET "FOLDER2=C:\"
SET "EXT=.JPG"

PUSHD "%FOLDER1%"
For /F "Tokens=*" %%@ in ('Dir /B /AD') DO (If NOT Exist "%%@\*%EXT%" (Move "%%@" "%FOLDER2%"))
Pause
Exit


saludos