Foros del Web » Soporte técnico » Windows »

Ficheros script ms-dos

Estas en el tema de Ficheros script ms-dos en el foro de Windows en Foros del Web. Buenos días, no se si esta duda está bien puesta en este subforo, pero no sabía donde ponerla y he creido que este era el ...
  #1 (permalink)  
Antiguo 05/04/2006, 10:10
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Ficheros script ms-dos

Buenos días,

no se si esta duda está bien puesta en este subforo, pero no sabía donde ponerla y he creido que este era el foro más adecuado.

Ahí va la duda. Es sobre scripts ms-dos.

Necesito que una serie de scripts compartan una ruta de archivo y, según están montados dichos scripts había pensado en dos alternativas (acepto sugerencias ):

- Como hay un script que es el que llama al resto de scripts en paralelo, había pasado en pasar el path como parámetro, pero el problema es que la ruta tiene espacios y al ponerla como parámetro, por cada espacio que se encuentre en la ruta, lo toma como un parámetro diferente, es decir, si la ruta es "C:\Mis documentos" cogerá como un parámetro "C:\Mis" y como otro parámetro "documentos", por lo que esto no me sirve (hay alguna forma de que coga todo el string con espacios y todo como un solo parámetro??).

- La otra forma que había pensado erá escribir en un fichero la ruta antes de llamar a los scripts que se ejecutan en paralelo y que dichos scripts cojan del fichero la ruta. Ahora bien, ¿como consigo leer en una variable la ruta que tengo escrita en el fichero????

Si alguno tiene algúna respuesta o una nueva sugerencia, bienvenidas sean

Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 05/04/2006, 14:38
Avatar de Marto
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Atapuerca, cuna de la Evo
Mensajes: 3.499
Antigüedad: 22 años, 4 meses
Puntos: 17
Muy buenas:

Lo que puedes hacer es meter en el script inicial una linea como esta:

set ruta="c:\mis documentos\pepito\"

Y luego en los sucesisvos scripts, por ejemplo si quiero ir en ese script a ese directorio tendriamos que poner:

cd %ruta%

Un saludo.
__________________
Me encantaría poder cambiar el mundo, pero es que no me dan el código fuente

** SIGO OFFLINE, PERO PRONTO REGRESO DE NUEVO, COSAS DEL TRABAJO ;D **
  #3 (permalink)  
Antiguo 06/04/2006, 09:00
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Hola,

gracias por responder.
Entonces, según parece, las variables que cree en un script serán accesibles para el resto de scripts, no?

Saludos
  #4 (permalink)  
Antiguo 06/04/2006, 09:55
Avatar de Marto
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Atapuerca, cuna de la Evo
Mensajes: 3.499
Antigüedad: 22 años, 4 meses
Puntos: 17
Lo seran si se ejecutan en la misma sesión de msdos pero para que lo veas mas claro vamos a comprobarlo con un experimento. Lo primero vamos a abrir una consola de msdos para poder hacer el ejercicio, para ello tenemos que ir a a Inicio - ejecutar y escribimos cmd y pulsamos aceptar.


Vamos a generar 2 ficheros, uno se va a llamar variable.bat y el otro mostrar.bat. En el primero vamos a decalarar una variable y en el otro lo vamos a mostrar en pantalla. Para generarlos desde msdos lo haremos con la orden edit nombre_fichero.

edit variable.bat
set ruta="c:\archivos de programa"

edit mostrar.bat
echo %ruta%

Una vez que esten creados los dos ficheros, primero ejecutamos variable.bat la cual nos genera la variable ruta. Si despues escribimos set y pulsamos enter, veremos todas las variables del sistema en esos momentos y entre ellas la que nosotros hemos creado.

Si ahora ejecutamos el fichero mostrar.bat nos tienen que mostrar en pantalla el valor de la variable ruta que es: c:\archivos de programa.

Todo funciona, pero ahora cerramos esas sesion de msdos y volvemos a generar otra (inicio - ejecutar - cmd - enter). Si ejecutamos el script mostrar.bat nos arrojará un error ya que la variable ruta no existe. Lo puedes comprobar escribiendo set y pulsando enter para que nos muestre las variables del sistema, veras que la variable ruta ya no aparece.

Es decir, las variables que definamos solo estaran activas mientras esté viva la sesion de msdos en la que las hemos creado. Pregunta del millón: ¿Y no se pueden generar variables persistentes, que cada vez que arranque el ordenador exista esa variable?. Pues sí, si que se puede, por ejemplo en Windows XP si vamos al icono de Mi PC, boton derecho del ratón sobre él - propiedades - pestaña Opciones avanzadas - Variables de entorno ahí es donde podremos generar nuestras propias variables que siempre estaran disponibles cada vez que se arranque el ordenador.

Espero que te haya ayudado el ejemplo anterior para entenderlo. Un saludo.
__________________
Me encantaría poder cambiar el mundo, pero es que no me dan el código fuente

** SIGO OFFLINE, PERO PRONTO REGRESO DE NUEVO, COSAS DEL TRABAJO ;D **
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:48.