locked
SOS

    Question

  •  

    Hola a todos, la verdad no se que estoy haciendo mal pero estoy haciendo un BATCH, CMD o Proceso en Lote entre una estacion con Windows XP a un Servidor Con Windows2003 Server, en el servidor tengo compartida una carpeta llamada bk_roadshow y el nombre del servidor es 11s1-ariescdd, adjunto el codigo que estoy queriendo emplear pero que no me funciona..

     

    @echo off

    rem Solicito al usuario que ingrese una fecha y la almaceno en la variable var

    set /p var Ingrese fecha:

    rem Una vez que tengo el dato en la variable creo en el servidor dentro de la carpeta bk_roadshow una carpeta llamada rem RSWIN+el dato de la variable (que en este caso seria la fecha que ingresa el usuario)

    mkdir \\11s1-ariescdd\bk_roadshow\Rswin%var%

    rem Luego que se me crea la carpeta, procedo a copiar de mi disco c:\la carpeta rswin a la que se me creo en el servidor

    copy c:\rswin\* \\11s1-ariescdd\bk_roadshow\Rswin%var%

    exit

     

    Como se daran cuenta si ejecuto linea por linea desde Simbolo de Sistemas me funciona muy bien pero si lo guardo como prueba.bat o prueba.cmd no me crea la carpeta en el servidor con el dato que contiene la variable VAR, esdecir, que si el usuario ingreso 02012008, deberia de crearse en el servidor Rswin02012008, unicamente se crea con el nombre Rswin.

     

    Si me pueden ayudar o indicar en que estoy fallando. Muchas gracias

    Monday, January 7, 2008 1:16 PM

Answers

  • hola,

     

    solucion sencilla:

     

    creas un archivo:

     

    carpeta.bat

     

    que contiene lo siguiente:

    Bloque de código

     

    cscript.exe carpeta.vbs

     

     

     

     

     

    creas un archivo carpeta.vbs que contiene lo que te puse en el post.

     

    pones los dos en el mismo lugar y ejecutas el carpeta.bat.

     

    el VBScript es mucho mas potente que el CMD y tepermite hacer muchissimas cosas, al comenzar en scripting, es lo mejor de lo mejor en mundo MS... he empezado por alli cuando pase de linux a MS Smile

     

    un cordial saludo,

     

    Pierre.

     

     

    Tuesday, January 8, 2008 6:44 AM

All replies

  • hola,

     

    te habia respondido en el orden scripting, que paso?

    no te funcciono ese codigo VBS?

     

    Bloque de código

    'Solicito al usuario que ingrese una fecha y la almaceno en la variable var
    Set oWSH = WScript.CreateObject("WScript.Shell")
    var=inputbox("Ingrese fecha: ")

    'Una vez que tengo el dato en la variable creo en el servidor

    'dentro de la carpeta bk_roadshow una carpeta

    'llamada 'rem RSWIN+el dato de la variable

    '(que en este caso seria la fecha que ingresa el usuario)

    cmdline = "md \\11s1-ariescdd\bk_roadshow\Rswin" & var

    oWSH.run cmdline,0,TRUE

    'Luego que se me crea la carpeta, procedo a copiar

    'de mi disco c:\la carpeta rswin a la que se me creo en el

    'servidor

    cmdline2 = "copy c:\rswin\* \\11s1-ariescdd\bk_roadshow\Rswin" & var
    oWSH.run cmdline2,0,TRUE

     

     

     

    gracias por no postear dos veces la misma pregunta... mas cuando esta una repuesta en la primera...

     

    saludos cordiales,

     

    Pierre.

     

    Monday, January 7, 2008 3:28 PM
  • la verdad es que nunca he hecho script y no se como hacerlo. por eso mejor me estaba llendo por la opcion del proceso BAT. No se si me puedes ayudar. ya que ahora tengo una pequeña duda lo que sucede es que ya me funciono pero estoy corriendo 2 bat al mismo tiempo (claro 1 despues del otro), te adjunto el codigo para ver si me puedes ayudar)

     

    Primer proceso el archivo se llama MENU.BAT y ejecuto lo siguiente

    @echo off

    set /p var="Ingrese Fecha (DDMMYYYY):"

    start /min /wait \\11s1-ariescdd\bat\Rswin.bat

    echo **************************************************

    echo PROCESO TERMINADO CON EXITO

    echo **************************************************

    pause

    exit

     

    Como te daras cuenta estando corriendo MENU.BAT mando a ejecutar RSWIN.BAT en forma minimizada, ahora lo que deseo es que el dato que he ingresado dentro de la variable VAR del MENU.BAT, pueda tomar ese dato y utilizarlo en el Proceso del RSWIN.BAT

     

    Segundo Proceso que se corre minimizado, el archivo se llama RSWIN.BAT y ejecuta lo siguiente:

    @echo off

    set crear=\\11s1-ariescdd\bk_roadshow\Rswin+aqui es donde no se como extraer el dato que se ingreso en la variable VAR del proceso MENU.BAT

    mkdir %crear%

    xcopy /e /y c:\rswin\* %crear%

    exit

     

    Por favor ayudame, muchas gracias.

    Monday, January 7, 2008 3:51 PM
  • Si no entendi mal, lo que necesitas es pasar el valor de la variable de un script a otro. Si es asi, solo debes agregar los que aparece en rojo en los scripts.

     

    Bloque de código

    @echo off

    set /p var="Ingrese Fecha (DDMMYYYY):"

    start /min /wait \\11s1-ariescdd\bat\Rswin.bat %var%

    echo **************************************************

    echo PROCESO TERMINADO CON EXITO

    echo **************************************************

    pause

    exit

     

     

     

     

     

    Bloque de código

    @echo off

    set crear=\\11s1-ariescdd\bk_roadshow\Rswin%1

    mkdir %crear%

    xcopy /e /y c:\rswin\* %crear%

    exit

     

     

    Saludos
    Monday, January 7, 2008 5:43 PM
  • La verdad que no se que mas hacer, estoy poniendo tal como tu me indicas, pero no me funciona ya que al revisar en el Servidor solo me crea la carpeta RSWIN y deberia de ser RSWIN+DATO ALMACENADO EN LA VARIABLE  VAR

     

    Cunado ejecuto el archivo MENU.BAT me procesa ya que se me abre una venta del Simbolo de Sistemas y corre todo lo que esta en el Menu.bat

     

    Pero cuando desde el Menu.bat mando a ejecutar el otro archivo EJECUTA.BAT se me abre otr ventana de Simbolo de Sistemas pero ahi es donde no me trae el valor de la variable VAR del Menu.bat por esa razon solo me crea la carpeta RSWIN....

     

    Por favor ayudame ya que no se que mas hacer...

     

    Monday, January 7, 2008 7:46 PM
  •  

    Modifica el 2do script para que qude como el siguiente:

     

    Bloque de código

    @echo off

    set crear=\\11s1-ariescdd\bk_roadshow\Rswin%1

    echo %crear%

    rem mkdir %crear%

    rem xcopy /e /y c:\rswin\* %crear%

    pause

    exit

     

     

     

    De esta forma cuando se abra la segunda ventana, vas a poder ver el valor que tiene la variable crear.
    Monday, January 7, 2008 8:27 PM
  • hola,

     

    solucion sencilla:

     

    creas un archivo:

     

    carpeta.bat

     

    que contiene lo siguiente:

    Bloque de código

     

    cscript.exe carpeta.vbs

     

     

     

     

     

    creas un archivo carpeta.vbs que contiene lo que te puse en el post.

     

    pones los dos en el mismo lugar y ejecutas el carpeta.bat.

     

    el VBScript es mucho mas potente que el CMD y tepermite hacer muchissimas cosas, al comenzar en scripting, es lo mejor de lo mejor en mundo MS... he empezado por alli cuando pase de linux a MS Smile

     

    un cordial saludo,

     

    Pierre.

     

     

    Tuesday, January 8, 2008 6:44 AM