Ms-Dos - Condicion IF + GOTO

 
Vista:

Condicion IF + GOTO

Publicado por Marcelo (2 intervenciones) el 30/03/2012 18:03:19
Buenos dias ante todo me presento mi nombre es Marcelo, no soy programador pero tengo conocimientos medios en C++, bueno haber si me pueden ayudar, estoy tratando de ahcer un sencillo batch que dependiendo del sistema operativo, tome una accion diferente pero no logro hacerlo. Por ejemplo en Windows Funciona Perfecto me dice:

"Entonces Tenes
WIN XP!"

Pero cuando lo hago en vista "Que si existe ese directorio"
me dice Entonces Tenes
WIN XP!
WIN 7!
Espero me puedan dar una mano, les dejo el codigo:
Mi correo es: [email protected]

GRACIAS!!!


@echo off
cd \ & cls

title Check S.O

IF EXIST "%C:\Users\%UserName%%" (echo Entonces Tenes) & (GOTO SI) ELSE (echo Entonces Tenes) & (GOTO NO)
:SI
echo WIN7!
:NO
echo WIN XP!

pause
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de A.H.H

Condicion IF GOTO

Publicado por A.H.H (216 intervenciones) el 30/03/2012 23:34:02
Hola sin compiicarte mucho podrias leer el sistema operativo desde el registro de windows:

prueba el siguiente ejemplo que esta probado y funciona en xp y win7

1
2
3
4
5
6
7
8
@echo off
title Check S.O
echo *****************   ESTAS USANDO   *****************
ECHO.
for /F "tokens=3,*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "ProductName"^|find "ProductName"') DO (ECHO Sistema Operativo: %%A %%B) 
for /F "tokens=3,*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CSDVersion"^|find "CSDVersion"') DO (ECHO Service Version: %%A %%B)
ECHO.
pause




Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar