Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: enrique s. en 13 Marzo 2012, 21:28 pm



Título: bat para pegar carpeta
Publicado por: enrique s. en 13 Marzo 2012, 21:28 pm
Hola soy nuevo en el foro y me registre porque vi un par de post de programacion en algo similar a lo que estoy buscando.
Quiero saber si es posible crear un archivo bat que copie una carpeta con archivos dentro  , y los pegue en otro lugar de la misma computadora.
Si es posible tambien busco el comando para aceptar cuando windows pregunta por "copiar y reemplazar"
Uso win7 x64 .


Título: Re: bat para pegar carpeta
Publicado por: Eleкtro en 13 Marzo 2012, 21:55 pm
Quiero saber si es posible crear un archivo bat que copie una carpeta con archivos dentro  , y los pegue en otro lugar de la misma computadora.
Si es posible tambien busco el comando para aceptar cuando windows pregunta por "copiar y reemplazar"

Código:
XCOPY /?

  origen       Especifica el archivo o archivos que hay que copiar.
  destino      Especifica la ubicación y/o el nombre de los archivos nuevos.

  /E           Copia directorios y subdirectorios, incluidos los vacíos.
               Igual que /S /E. Se puede usar para modificar /T.

  /Y           Suprime la petición de confirmación de sobrescritura de un
               archivo de destino existente.

  /-Y          Pide confirmación de sobrescritura de un archivo
               de destino existente.
 

Ejemplo:
Código
  1. @Echo OFF
  2. XCopy /E /Y "c:\test" "D:\test\"
El comando copia la carpeta c:\test con sus subdirectorios, a la carpeta D:\Test, y reemplaza cualquier archivo existente.

PD: Recuerda usar un slash (\) al poner la carpeta de destino, Sinó no se copiará nada.

Salu2


Título: Re: bat para pegar carpeta
Publicado por: enrique s. en 14 Marzo 2012, 08:50 am
muchas gracias por tu rapida respuesta.
si tengo que copiar y pegar varios archivos el ejemplo seria :
Código
  1. @Echo OFF
  2. XCopy /E /Y "c:\test\1" "D:\test\1"
  3. XCopy /E /Y "c:\test\2" "D:\test\2"
  4. XCopy /E /Y "c:\test\3" "D:\test\3"
  5. XCopy /E /Y "c:\test\4" "D:\test\4"
  6. XCopy /E /Y "c:\test\5" "D:\test\5"
  7. Pause

estaria bien asi ?
windows va a preguntar si deseo reemplazar cada archivo ?.


Título: Re: bat para pegar carpeta
Publicado por: Eleкtro en 14 Marzo 2012, 10:04 am
windows va a preguntar si deseo reemplazar cada archivo ?.

Podrías leer atentamente las cosas que dije y el código que cité...

Código:
  /Y           Suprime la petición de confirmación de sobrescritura de un archivo de destino existente.


XCopy /E /Y "c:\test\1" "D:\test\1"
XCopy /E /Y "c:\test\2" "D:\test\2"

estaria bien asi ?

No, como ya dije, tienes que poner una barrita "\" en el destino:
Código
  1. XCopy /E /Y "c:\test\1" "D:\test\1\"
  2. XCopy /E /Y "c:\test\2" "D:\test\2\"

Y "windows" no te pedirá nada así.

XCopy es para copiar carpetas (Con su contenido). Si lo que quieres es copiar archivos sueltos, usa el comando COPY.

Saludos.


Título: Re: bat para pegar carpeta
Publicado por: Megayen en 6 Marzo 2013, 21:09 pm
Hola a todos, estoy siguiendo atentamente el ejemplo del .bat a mi me interesa crear un programita bat que solamente me copie las modificaciones de los archivos es decir que la primera ves funciona perfecto  esto
@Echo OFF
XCopy /E /Y "c:\test" "D:\test\"
Lo unico que ahi estoy copiando todos los archivos de esa carpeta al destino y mi me interesan que se copien solamente los modificados despues en la proxima ves
¿alguien se le ocurre como hacerlo? Aclaro q no soy programador
O sea que quiero un bat que primero copie los archivos y luego las modificaciones usando xp...
¿alguien tiene un ejemplo de como hacerlo?


Título: Re: bat para pegar carpeta
Publicado por: Eleкtro en 6 Marzo 2013, 21:26 pm
@Megayen

Podrías empezar por leer las normas del foro y no revivir temas de hace un año para postear una pregunta.

Hay un parámetro del comando XCopy que sirve especiálmente para tu propósito, no hace falta ser programador ni tener conocimientos, solo hace falta leer, leer la ayuda del comando:
Código:
XCopy /?

Ahí verás el parámetro necesario que debes añadir junto a "/E /Y" .

Tema cerrado.

Saludos!