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
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$ Mostrar la cita
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
Leer las respuestas