none
Duda tonta con BAT RRS feed

  • Pregunta

  • Buenas

    Tengo pensado una cosa a ver si pueden ayudarme:

    Quiero copiar una carpeta con archivos a una serie de carpetas que serian por ejemplo asi:

    Carpeta a copiar: 
    C:\carpeta importante\

    Destinos
    C:\users\AA\carpeta\
    C:\users\BC\carpeta\
    C:\users\BA\carpeta\
    C:\users\AB\carpeta\

    Como veis es un trabajo de monos y seguro que es automatizable...

    La idea es si se puede hacer con un bat por ejemplo algo asi:

    Xcopy "C:\carpeta importante" "C:\users\*\carpeta\"

    El ejemplo no funciona, el * no es la techa correcta, sabeis si es posible hacer eso?
    martes, 16 de octubre de 2012 21:17

Respuestas

  • Hola Alex,

    No creo que puedas usar los wildcards de la forma que planteas.

    Si lo que quieres es automatizar la copia de una carpeta a varias carpetas, la sintaxis sería (dentro de un BAT):

    xcopy /e /y "C:\carpeta importante\"     "c:\users\AA\Carpeta"
    
    xcopy /e /y "C:\carpeta importante\"     "c:\users\BC\Carpeta"

    ............................

    Y así con cada destinatario, en el caso que fueran muchos destinos diferentes podríamos hacer un script que sustituyera el valor de la carpeta de destino leyendo las cadenas desde un fichero repositorio, pero si son pocas carpetas no vale la pena.

    Para tu información /e realiza copia recursiva y /y omite confirmación para overwrite.

    Saludos

    Julio Rosua


    • Editado Julian Ros miércoles, 17 de octubre de 2012 8:42
    • Propuesto como respuesta Cavallin Jorge miércoles, 17 de octubre de 2012 13:24
    • Marcado como respuesta AlexTRz miércoles, 17 de octubre de 2012 15:54
    miércoles, 17 de octubre de 2012 8:42

Todas las respuestas

  • Hola Alex,

    No creo que puedas usar los wildcards de la forma que planteas.

    Si lo que quieres es automatizar la copia de una carpeta a varias carpetas, la sintaxis sería (dentro de un BAT):

    xcopy /e /y "C:\carpeta importante\"     "c:\users\AA\Carpeta"
    
    xcopy /e /y "C:\carpeta importante\"     "c:\users\BC\Carpeta"

    ............................

    Y así con cada destinatario, en el caso que fueran muchos destinos diferentes podríamos hacer un script que sustituyera el valor de la carpeta de destino leyendo las cadenas desde un fichero repositorio, pero si son pocas carpetas no vale la pena.

    Para tu información /e realiza copia recursiva y /y omite confirmación para overwrite.

    Saludos

    Julio Rosua


    • Editado Julian Ros miércoles, 17 de octubre de 2012 8:42
    • Propuesto como respuesta Cavallin Jorge miércoles, 17 de octubre de 2012 13:24
    • Marcado como respuesta AlexTRz miércoles, 17 de octubre de 2012 15:54
    miércoles, 17 de octubre de 2012 8:42
  • Ok, gracias
    miércoles, 17 de octubre de 2012 15:54
  • Hola

    He estado leyendo la solucion parcial a mis necesidades.

    En mi caso quiero copiar una carpeta a muchas carpetas de destino.

    Se trata de una carpeta llamada "book" con un fichero de texto dentro llamado "i"

    En caso de que la carpeta "book" ya exista en la carpeta de destino, no la copie, pero si el fichero "i" no existe si lo incluya en ella.

    Si el fichero "i" ya existe que no lo sobrescriba.

    ¿Podrias explicarme lo del fichero repositorio?

    ¿Podrias poner un ejemplo?

    ¿Como incluir subdirectorios?

    Muchas gracias por la atencion



    • Editado ficusmania miércoles, 9 de enero de 2013 13:45
    miércoles, 9 de enero de 2013 13:04