| @REM |
| @REM Licensed to the Apache Software Foundation (ASF) under one |
| @REM or more contributor license agreements. See the NOTICE file |
| @REM distributed with this work for additional information |
| @REM regarding copyright ownership. The ASF licenses this file |
| @REM to you under the Apache License, Version 2.0 (the |
| @REM "License"); you may not use this file except in compliance |
| @REM with the License. You may obtain a copy of the License at |
| @REM |
| @REM http://www.apache.org/licenses/LICENSE-2.0 |
| @REM |
| @REM Unless required by applicable law or agreed to in writing, |
| @REM software distributed under the License is distributed on an |
| @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| @REM KIND, either express or implied. See the License for the |
| @REM specific language governing permissions and limitations |
| @REM under the License. |
| @REM |
| |
| @echo off |
| @REM set cmd format |
| powershell -NoProfile -Command "$v=(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentMajorVersionNumber; if($v -gt 6) { cmd /c 'chcp 65001' }" |
| |
| |
| @REM DEFAULT_SQL_DIALECT is used to set the default SQL dialect for the CLI. |
| @REM empty value means using "tree". |
| @REM Optional values: "table" or "tree" |
| set DEFAULT_SQL_DIALECT=tree |
| |
| @REM You can put your env variable here |
| @REM set JAVA_HOME=%JAVA_HOME% |
| |
| title IoTDB CLI |
| |
| set PATH="%JAVA_HOME%\bin\";%PATH% |
| set "FULL_VERSION=" |
| set "MAJOR_VERSION=" |
| set "MINOR_VERSION=" |
| |
| |
| for /f tokens^=2-5^ delims^=.-_+^" %%j in ('java -fullversion 2^>^&1') do ( |
| set "FULL_VERSION=%%j-%%k-%%l-%%m" |
| IF "%%j" == "1" ( |
| set "MAJOR_VERSION=%%k" |
| set "MINOR_VERSION=%%l" |
| ) else ( |
| set "MAJOR_VERSION=%%j" |
| set "MINOR_VERSION=%%k" |
| ) |
| ) |
| |
| set JAVA_VERSION=%MAJOR_VERSION% |
| |
| if "%OS%" == "Windows_NT" setlocal |
| |
| pushd %~dp0..\.. |
| if NOT DEFINED IOTDB_HOME set IOTDB_HOME=%CD% |
| popd |
| |
| if NOT DEFINED MAIN_CLASS set MAIN_CLASS=org.apache.iotdb.cli.Cli |
| if NOT DEFINED JAVA_HOME goto :err |
| |
| @REM ----------------------------------------------------------------------------- |
| @REM JVM Opts we'll use in legacy run or installation |
| set JAVA_OPTS=-ea^ |
| -DIOTDB_HOME="%IOTDB_HOME%" |
| |
| @REM ***** CLASSPATH library setting ***** |
| @REM Ensure that any user defined CLASSPATH variables are not used on startup |
| if EXIST "%IOTDB_HOME%\lib" (set CLASSPATH="%IOTDB_HOME%\lib\*") else set CLASSPATH="%IOTDB_HOME%\..\lib\*" |
| goto okClasspath |
| |
| :append |
| set CLASSPATH=%CLASSPATH%;%1 |
| |
| goto :eof |
| |
| REM ----------------------------------------------------------------------------- |
| :okClasspath |
| set PARAMETERS=%* |
| |
| @REM if "%PARAMETERS%" == "" set PARAMETERS=-h 127.0.0.1 -p 6667 -u root -pw root |
| |
| @REM if DEFAULT_SQL_DIALECT is empty, set it to "tree" |
| if "%DEFAULT_SQL_DIALECT%" == "" set DEFAULT_SQL_DIALECT=tree |
| |
| @REM set default parameters |
| set pw_parameter=-pw root |
| set u_parameter=-u root |
| set p_parameter=-p 6667 |
| set h_parameter=-h 127.0.0.1 |
| set sql_dialect__parameter=-sql_dialect %DEFAULT_SQL_DIALECT% |
| |
| @REM Added parameters when default parameters are missing |
| echo %PARAMETERS% | findstr /c:"-sql_dialect ">nul && (set PARAMETERS=%PARAMETERS%) || (set PARAMETERS=%sql_dialect__parameter% %PARAMETERS%) |
| echo %PARAMETERS% | findstr /c:"-pw ">nul && (set PARAMETERS=%PARAMETERS%) || (set PARAMETERS=%pw_parameter% %PARAMETERS%) |
| echo %PARAMETERS% | findstr /c:"-u ">nul && (set PARAMETERS=%PARAMETERS%) || (set PARAMETERS=%u_parameter% %PARAMETERS%) |
| echo %PARAMETERS% | findstr /c:"-p ">nul && (set PARAMETERS=%PARAMETERS%) || (set PARAMETERS=%p_parameter% %PARAMETERS%) |
| echo %PARAMETERS% | findstr /c:"-h ">nul && (set PARAMETERS=%PARAMETERS%) || (set PARAMETERS=%h_parameter% %PARAMETERS%) |
| |
| echo %PARAMETERS% |
| |
| @REM Add args for Java 11 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) |
| IF "%JAVA_VERSION%" == "8" ( |
| set ILLEGAL_ACCESS_PARAMS= |
| ) ELSE ( |
| set ILLEGAL_ACCESS_PARAMS=--add-opens=java.base/java.lang=ALL-UNNAMED |
| ) |
| set JAVA_OPTS=%JAVA_OPTS% -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 |
| java %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% -cp %CLASSPATH% %MAIN_CLASS% %PARAMETERS% |
| set ret_code=%ERRORLEVEL% |
| goto finally |
| |
| |
| :err |
| echo JAVA_HOME environment variable must be set! |
| set ret_code=1 |
| pause |
| |
| |
| @REM ----------------------------------------------------------------------------- |
| :finally |
| |
| ENDLOCAL |
| |
| EXIT /B %ret_code% |