The batch script is a text file with the extension .bat or .cmd that is interpreted by a batch interpreter.
You can call a batch script by :
If the script is called from Explorer with a double-click on the batch file, an exit will automatically be performed at the end of the execution.
See argument modifiers for more options.
SET SCRIPT_PATH=%~dp0
REM I see also after
FOR %%i IN ("%SCRIPT_PATH%") DO SET SCRIPT_PATH=%%~fsi
REM or
call "%~dp0script.cmd"
:: The directory of the called file (the symlink)
SET SCRIPT_DIR=%~dp0
:: If this is a symlink, the DIR command gives us the symlink target directory between [ ]
SET SCRIPT_PATH=%~dpnx0
for /F "usebackq tokens=2 delims=[]" %%H in (`dir /a:l %SCRIPT_PATH%`) do (
set SCRIPT_DIR=%%~dpH
)
echo %SCRIPT_DIR%
Thanks to argument modifiers - the file name (ie script.bat)
SET SCRIPT_NAME=%~nx0
%~dpnx0
set allowedvalues=1 2 3
for %%i in ( %allowedvalues% ) do (
if %1 == %%i set allowed=true
)
set BASE_PATH=%~dp0
type "%BASE_PATH%banner.txt"
where:
VERIFY whatever 2>nul
SETLOCAL enableExtensions enableDelayedExpansion
IF ERRORLEVEL 1 echo Cannot enable delayed expansion&& exit /b 1
where:
if defined JAVA_HOME if exist "%JAVA_HOME%\bin\java.exe" PATH "%JAVA_HOME%\bin";%PATH%
java.exe -version >nul 2>&1 || ( echo Java cannot be found on the system! & exit /b 2 )
for /f tokens^=2^,3^,4^ delims^=_.^" %%J in ('java.exe -version 2^>^&1') do set "jver=%%J%%K%%L" && goto :break_loop
:break_loop
IF %jver%0 LSS 1600 ( echo Current Java version is older than 1.6.0 & endlocal & exit /b 2 )
where: