Thank you very much for highlighting this issue.
I would however suggest a slightly different solution.
Because %CD% is the directory the xmlhammer.bat file is called from (current
working directory) and not the directory where the xmlhammer.bat file
is located,
I would suggest the following instead:
------
@echo off
rem
rem Set XMLHAMMER_HOME to be able to call the application from other
directories.
rem
rem Make sure JAVA_HOME is set
rem
set XMLHAMMER_JAR=xmlhammer-1.0-rc-2.jar
if not "%XMLHAMMER_HOME%" == "" goto CHECKJAVAHOME
rem ***** START OF CHANGES
rem Try to locate XMLHAMMER_HOME
rem ***** PLACE QUOTES AROUND THE INSTALLATION DIRECTORY
set XMLHAMMER_HOME="%XMLHAMMER_HOME:~0,-1%"
if exist %XMLHAMMER_HOME%\%XMLHAMMER_JAR% goto CHECKJAVAHOME
rem ***** USE THE WORKING DIRECTORY INSTEAD
set XMLHAMMER_HOME=.
if exist %XMLHAMMER_HOME%\%XMLHAMMER_JAR% goto CHECKJAVAHOME
rem ***** END OF CHANGES
rem Unable to find it
echo XMLHAMMER_HOME must be set before running this script from
another directory
goto END
:CHECKJAVAHOME
if not "%JAVA_HOME%" == "" goto USE_JAVA_HOME
set JAVA=javaw
goto LAUNCHXMLHAMMER
:USE_JAVA_HOME
set JAVA="%JAVA_HOME%\bin\javaw"
goto LAUNCHXMLHAMMER
:LAUNCHXMLHAMMER
%JAVA% -jar %XMLHAMMER_HOME%\%XMLHAMMER_JAR% %*
:END
%COMSPEC% /C exit %ERRORLEVEL%
|