Johannes Sixt said the following on 29.05.2007 15:24:
Looking at the docs for cmd's call (run 'help call'), I see now that it can be written %~dp0gitk as well..But... the docs also say that this stuff is only available if command extensions are turned on. Are they on by default? (I cannot tell because I remember faintly that I fiddled with the corresponding registry setting in the past, but don't know whether it was on or off at the beginning.)
Ok, MSDN says it on by default on XP, while other docs say its on by default without specifying any platforms. Also, it might be that the %~dp0 construct is only supported on later versions of the cmd extension too (I don't have NT 4, so I can't test this), so to be on the safe side you can do this: ---- @echo off REM This GOTO relies on the hack that command.com only supports REM 8 character labels, so it reads 'goto _Windows' goto :_WindowsNT REM Command.com jumps here :_Windows wish84.exe "C:\Git\usr\bin\gitk" %1 %2 %3 %4 %5 %6 %7 %8 %9 REM NOTE! If you install Git in some other path, and use REM command.com, you need to replace the path above goto :EOF REM Cmd.exe jumps here :_WindowsNT if "%1" neq "ensureExt" ( REM Call the script again with cmd /X to explicitly turn on Command Extensions %COMSPEC% /X /C "%0 ensureExt %*" goto :EOF ) REM If our CMD Extension version is less than 2, we might not support the %~dp0 REM construct so, just do the normal _Windows call instead. (This should only REM happen on old Windows NT 4, where the extension is not so sophisticated if not cmdextversion 2 ( call :_Windows %2 %3 %4 %5 %6 %7 %8 %9 goto :EOF ) start wish84.exe "%~dp0gitk" %2 %3 %4 %5 %6 %7 %8 %9 :EOF -- .marius
Attachment:
signature.asc
Description: OpenPGP digital signature