Tags Palabras claves

Problema con script de inicio

28/09/2004 - 16:53 por ninhovid | Informe spam
Buenos dias

he implementado un script de inicio en mi red, y empiezo
con la validacion del sistema operativo... pero me doy
cuenta que el IF no existe en win95 ni en win98 y me
marca error

if %os% == Windows_NT (
goto :VAL_NORMAL_NT
) else (
goto :VAL_NORMAL_9x
)

como lo puedo solucionar?
muchas gracias
 

Leer las respuestas

#1 Ramón Sola [MVP Windows Client]
28/09/2004 - 19:36 | Informe spam
Hash: SHA1

Los .bat en los Windows 9x (Command.com propiamente) están muy limitados
con respecto a lo pueden hacer en Windows NT, 2000 o XP.

Y además, si haces algo como esto
if %variable% == pepito goto fulano
y %variable% no está definida, se produce un error de sintaxis, ya que al
sustituir %variable% por su valor...
if == pepito goto fulano

Es necesario añadir al menos un carácter fijo a ambos lados de la igualdad,
y en la misma posición, para que la expresión se evalúe correctamente,
evitando el error de sintaxis. Por ejemplo:
if "%variable%" == "pepito" goto fulano
if not !%variable% == !pepito goto fulano
if %variable%& == pepito& goto fulano
(Etc.)

Así, si %variable% no está definida o no tiene el valor 'pepito' (sin
comillas):
if "" == "pepito" goto fulano (falso)
if not ! == !pepito goto fulano (verdadero)
if & == pepito& goto fulano (falso)
Si %variable% es la cadena 'pepito' (sin comillas):
if "pepito" == "pepito" goto fulano (verdadero)
if not !pepito == !pepito goto fulano (falso)
if pepito& == pepito& goto fulano (verdadero)


Por tanto tu archivo debería tener una estructura como esta:

if not %OS%! == Windows_NT! goto comandosParaWin9x
rem aquí irían los comandos específicos para los NTs
...
rem poner aquí algo para evitar entrar en la siguiente sección,
rem como un 'goto fin' más una etiqueta ':fin' al final del
rem archivo, o una instrucción 'exit'
:comandosParaWin9x
rem aquí irían los comandos específicos para los 9x
...

Ramón Sola @ Málaga (España) / MVP Windows - Shell/User
(quitar "IFeelGreat")

"ninhovid" escribió en el mensaje
news:398b01c4a56a$fb01c490$
Buenos dias

he implementado un script de inicio en mi red, y empiezo
con la validacion del sistema operativo... pero me doy
cuenta que el IF no existe en win95 ni en win98 y me
marca error

if %os% == Windows_NT (
goto :VAL_NORMAL_NT
) else (
goto :VAL_NORMAL_9x
)

como lo puedo solucionar?
muchas gracias

Preguntas similares