On my computer the workstation service is disabled, so the script hangs when it tries to figure out the OS version.
Problem lies here:
CODE
:: Find host OS - based on code posted by Yzöwl on MSFN.org
SET HostOS=Unknown
FOR /F "DELIMS=" %%I IN ('NET CONFIG WORK^|FIND /I " Windows "') DO (
ECHO %%I|FIND "2000">NUL 2>&1&&(SET HostOS=2000&GOTO :HOSD)
ECHO %%I|FIND "2002">NUL 2>&1&&(SET HostOS=XP&GOTO :HOSD)
ECHO %%I|FIND "2003">NUL 2>&1&&(SET HostOS=2003&GOTO :HOSD)
ECHO %%I|FIND /I "Vista">NUL 2>&1&&(SET HostOS=Vista&GOTO :HOSD)
)
SET HostOS=Unknown
FOR /F "DELIMS=" %%I IN ('NET CONFIG WORK^|FIND /I " Windows "') DO (
ECHO %%I|FIND "2000">NUL 2>&1&&(SET HostOS=2000&GOTO :HOSD)
ECHO %%I|FIND "2002">NUL 2>&1&&(SET HostOS=XP&GOTO :HOSD)
ECHO %%I|FIND "2003">NUL 2>&1&&(SET HostOS=2003&GOTO :HOSD)
ECHO %%I|FIND /I "Vista">NUL 2>&1&&(SET HostOS=Vista&GOTO :HOSD)
)
as this code relies on the workstation service to function properly.
This Code should do the same, but doesn't rely on the workstation service:
CODE
FOR /F "DELIMS=" %%I IN ('ver') DO (
ECHO %%I|FIND "2000">NUL 2>&1&&(SET HostOS=2000&GOTO :HOSD)
ECHO %%I|FIND "XP">NUL 2>&1&&(SET HostOS=XP&GOTO :HOSD)
ECHO %%I|FIND "2003">NUL 2>&1&&(SET HostOS=2003&GOTO :HOSD)
ECHO %%I|FIND /I "VISTA">NUL 2>&1&&(SET HostOS=Vista&GOTO :HOSD)
)
ECHO %%I|FIND "2000">NUL 2>&1&&(SET HostOS=2000&GOTO :HOSD)
ECHO %%I|FIND "XP">NUL 2>&1&&(SET HostOS=XP&GOTO :HOSD)
ECHO %%I|FIND "2003">NUL 2>&1&&(SET HostOS=2003&GOTO :HOSD)
ECHO %%I|FIND /I "VISTA">NUL 2>&1&&(SET HostOS=Vista&GOTO :HOSD)
)
