none
SCRIPT PARA COPIAR EL CONTENIDO DE UNA CARPETA QUE SE ENCUENTRA EN UN SERVIDOR RRS feed

  • Pregunta

  • hola

    mi problema es que quiero copiar el contenido de una carpeta que se encuentra en mi servidor (windows server 2003) a un equipo que se encuentra en el mismo dominio (xp)

    tengo entendido que seria facil con un script y ejecutarlo con powershell, porfavor necesito ayuda!!!! se los agradeceria.

    necesito distribuir el contenido de la carpeta a varios equipos de mi dominio.

    espero su pronta respuesta.

     

    martes, 4 de mayo de 2010 21:36

Respuestas

  • Realmente para algo así no es necesario PowerShell, te vale un BAT. De hecho con PowerShell ejecutarías las instrucciones propias del BAT, por lo que no tiene sentido hacerlo con PowerShell. La idea sería que usases xcopy para realizar la copia. Pongamos que además debes suministrar credenciales alternativas para conectar al servidor de origen; en ese caso deberías usar NET USE para establecer las credenciales. Por ejemplo:

    REM Establecer credenciales (usuario TIA\Bacterio, contraseña OfeliaVaca)
    NET USE \\bacterio-pc\experimentos /user:TIA\Bacterio OfeliaVaca
    
    REM Copiar contenidos de carpeta
    XCOPY /S \\bacterio-pc\experimentos\desastres\* c:\bacterio\desastres
    
    REM Eliminar las credenciales después de la copia
    NET USE \\bacterio-pc\experimentos /DELETE
    

    Revisa la ayuda (XCOPY /?) de xcopy para ver qué opciones son las que te convienen para tus propósitos.


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    jueves, 6 de mayo de 2010 6:27
    Moderador
  • El motivo es que si ya tienes una forma simple de hacerlo ¿para qué usar una más compleja? Si lo hicieses desde PowerShell se te complicaría, o lo harías exactamente igual a como lo haces en CMD, usando los mismos comandos. Además, CMD lo tiene cualquier equipo de núcleo NT, mientras que los únicos equipos que tienes garantizado que lo tengan según quedan instalados (al igual que CMD) son Windows 7 y Windows Server 2008 R", al resto se llo tienes que instalar, por lo que otra complicación más, el tener que distribuir PowerShell por toda tu red.

    Si quieres aprender a dominar PowerShell ¡bien! pero no quiere decir que dejes de usar lo más óptimo y rápido en cada momento. Hay infinidad de cosas que no podrás hacer desde CMD y sí desde PowerShell ¡a por ellas!


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    miércoles, 19 de mayo de 2010 5:40
    Moderador
  • Si ese scrpt que copias es literalmente el que quieres ejecutar, no funcionaría por tener espacios en las rutas, además de tener un espacio entre las dos barras y el nombre del servidor; además, no sé para qué montas la carpeta como unidad de red si no usas esa unidad de red; por último, en el origen no estableces que copie todo el contenido con un comodín. Debería ser así:

    @echo off
    echo ---------------------------
    echo Conectar unidad de red
    echo ---------------------------
    net use Y: \\FCS1\Fase1__V_1_26
    
    xcopy /S /E Y:\* "C:\Archivos de programa\Futuver\Futureg 1"
    net use Y: /delete

     

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    viernes, 7 de mayo de 2010 7:58
    Moderador

Todas las respuestas

  • Realmente para algo así no es necesario PowerShell, te vale un BAT. De hecho con PowerShell ejecutarías las instrucciones propias del BAT, por lo que no tiene sentido hacerlo con PowerShell. La idea sería que usases xcopy para realizar la copia. Pongamos que además debes suministrar credenciales alternativas para conectar al servidor de origen; en ese caso deberías usar NET USE para establecer las credenciales. Por ejemplo:

    REM Establecer credenciales (usuario TIA\Bacterio, contraseña OfeliaVaca)
    NET USE \\bacterio-pc\experimentos /user:TIA\Bacterio OfeliaVaca
    
    REM Copiar contenidos de carpeta
    XCOPY /S \\bacterio-pc\experimentos\desastres\* c:\bacterio\desastres
    
    REM Eliminar las credenciales después de la copia
    NET USE \\bacterio-pc\experimentos /DELETE
    

    Revisa la ayuda (XCOPY /?) de xcopy para ver qué opciones son las que te convienen para tus propósitos.


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    jueves, 6 de mayo de 2010 6:27
    Moderador
  • Necesito un Script o bat que al ejecutarlo con una politica del Active directory me copie el contenido de una carpeta que esta en un servidor a las pc clientes de mi dominio

    este es es lo que tengo.

     

    @echo off
    echo ---------------------------
    echo Conectar unidad de red
    echo ---------------------------
    net use Y: \\ FCS1\Fase1__V_1_26

    Y:
    xcopy /S /E "\\ FCS1\Fase1__V_1_26" C:\Archivos de programa\Futuver\Futureg 1
    net use Y: /delete

    espero tu pronta respuesta.

    jueves, 6 de mayo de 2010 15:35
  • Si ese scrpt que copias es literalmente el que quieres ejecutar, no funcionaría por tener espacios en las rutas, además de tener un espacio entre las dos barras y el nombre del servidor; además, no sé para qué montas la carpeta como unidad de red si no usas esa unidad de red; por último, en el origen no estableces que copie todo el contenido con un comodín. Debería ser así:

    @echo off
    echo ---------------------------
    echo Conectar unidad de red
    echo ---------------------------
    net use Y: \\FCS1\Fase1__V_1_26
    
    xcopy /S /E Y:\* "C:\Archivos de programa\Futuver\Futureg 1"
    net use Y: /delete

     

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    viernes, 7 de mayo de 2010 7:58
    Moderador
  • Estimado amigo:

    Por curiosidad, lo que se ha dicho antes de que no hace falta PowerShell para hacerlo, sino con el Batch. La verdad prefiero el PowerShell para aprender a dominarlo, aunque por otro lado tenga el .bat o .cmd creado por si acaso que no esté instalado.

    ¿No vale la pena en el fondo hacerlo con PowerShell? ¿Cuál es el motivo exacto? ¿No gastar tiempo en ello?

    Un cordial saludo.


    martes, 18 de mayo de 2010 15:22
  • El motivo es que si ya tienes una forma simple de hacerlo ¿para qué usar una más compleja? Si lo hicieses desde PowerShell se te complicaría, o lo harías exactamente igual a como lo haces en CMD, usando los mismos comandos. Además, CMD lo tiene cualquier equipo de núcleo NT, mientras que los únicos equipos que tienes garantizado que lo tengan según quedan instalados (al igual que CMD) son Windows 7 y Windows Server 2008 R", al resto se llo tienes que instalar, por lo que otra complicación más, el tener que distribuir PowerShell por toda tu red.

    Si quieres aprender a dominar PowerShell ¡bien! pero no quiere decir que dejes de usar lo más óptimo y rápido en cada momento. Hay infinidad de cosas que no podrás hacer desde CMD y sí desde PowerShell ¡a por ellas!


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    miércoles, 19 de mayo de 2010 5:40
    Moderador
  • Buenas:

    Entendido. En el futuro habrá Windows que ya se integre el PowerShell a distro y siniestro sin falta.

    Graicas por la información.


    miércoles, 19 de mayo de 2010 12:34
  • hola se nota que tu sabes mucho sobre el tema

    megustaria apreder muscho pero no se por donde empesar, me podrias hechar una mano.

    no se como:

    paginas que puedo visitar

    libros

    foros

    cursos

    creeo que tu conoces de esto

    espero tu pronta respuesta.

    miércoles, 19 de mayo de 2010 19:10
  • Mira si esto te puede ayudar:

    http://pcmusings.spaces.live.com/Blog/cns!42B71883C19FDDAE!260.entry?wa=wsignin1.0&sa=582517872

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    jueves, 20 de mayo de 2010 9:34
    Moderador
  • hola que tal Fernando soy juan carlos

    me podrias proporsionar tu correo para poder contactarte y preguntarte mas sobre este tema.

    trate de mandarte un correo a la direccion que aparese abajo

    pero creeo que no se puede mandar mensajes a esa direccion

    mira el mio es estonova.juan.alonso@estonova.futuver.com.mx o al estotampoco.chicotudo5@estotampoco.hotmail.com

    espero tu respuest


    • Editado Fernando ReyesModerator martes, 14 de febrero de 2012 11:09 Cambiar el correo electrónico para que no sea cazable por un bot
    jueves, 20 de mayo de 2010 21:04
  • Juan Carlos, no debes poner tu dirección de correo en sitios públicos, pues pueden ir directamente a bases de datos de spamers, por ello la mía va "enmascarada" y si le quitas lo que le sobra verás como está operativa. De todas maneras, las preguntas es mejor que las hagas aquí, pues así otras personas pueden leer las preguntas y respuestas y a lo mejor les vale de ayuda.

    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    miércoles, 26 de mayo de 2010 5:12
    Moderador
  • Hola:

    A la próxima pones

     

    micorreoBÓRRAME @BÓRRAME hotmail.com

    Saludo.


    viernes, 28 de mayo de 2010 17:48
  • Perdona, con mi correo hago lo que quiero :-P

    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    lunes, 31 de mayo de 2010 5:10
    Moderador
  • Buenas:

    No era a ti, ejjejejeje. ;)

    Saludo.


    lunes, 31 de mayo de 2010 6:02
  • Buenas, podrias intentar lo siguiente.

    Para que te funcione sin errores, ejecutalo con una sesion de usuario que sea administrador de dominio o en el script utiliza el parametro -credential:

    for($i=2; $i -le 5;$i++)
    {
     $ip="192.168.10."+$i
     write-host $ip
     copy-item  -Path c:\1.txt -destination \\$ip\c$  -recurse
    }

    Espero te sirva

    viernes, 20 de septiembre de 2013 13:04