I more like the robust approach, but there is IMHO an error in the text about the Win9x command line. In the list to find OS's you may want to add the newer ones as you need them.
Code:
@ECHO off
SETLOCAL
REM First line will find W2K3 For Terminal Sessions
VER | find "5.2.3790" > nul
If NOT errorlevel 1 GoTo Win_NT
VER | find "NT" > nul
If NOT errorlevel 1 GoTo Win_NT
VER | find "2000" > nul
If NOT errorlevel 1 GoTo Win_NT
VER | find "XP" > nul
If NOT errorlevel 1 GoTo Win_NT
VER | find "98" > nul
If NOT errorlevel 1 GoTo Win_9X
VER | find "95" > nul
If NOT errorlevel 1 GoTo Win_9X
GoTo unknown_os
:win_NT
Call wkix32.exe login.kix /i
GoTo end
:win_9X
%0\..\wkix32.exe %0\..\login.kix /i
GoTo end
:unknown_os
:end
Now if any code fails on NT because you did not map to Z: during logon I think it is time to get rid of that coding.
This is just my opinion. Everybody has to find solutions to his own needs.