@@ -18,23 +18,28 @@ REM specific language governing permissions and limitations
1818REM under the License.
1919REM
2020
21+ REM ==========================================================
22+ REM Apache IoTDB CLI Launcher
23+ REM ==========================================================
24+
25+ setlocal enabledelayedexpansion
26+
2127REM -------------------------------
2228REM Default SQL dialect
23- if " %DEFAULT_SQL_DIALECT% " == " " set DEFAULT_SQL_DIALECT = tree
29+ if " %DEFAULT_SQL_DIALECT% " == " " set " DEFAULT_SQL_DIALECT = tree"
2430
2531REM Default connection parameters
26- set user_param = -u root
27- set passwd_param = -pw root
28- set host_param = -h 127.0.0.1
29- set port_param = -p 6667
30- set sql_dialect_param = -sql_dialect %DEFAULT_SQL_DIALECT%
31- set PARAMETERS =
32+ set " user_param = -u root"
33+ set " passwd_param = -pw root"
34+ set " host_param = -h 127.0.0.1"
35+ set " port_param = -p 6667"
36+ set " sql_dialect_param = -sql_dialect %DEFAULT_SQL_DIALECT% "
37+ set " PARAMETERS = "
3238
3339REM -------------------------------
34- REM Normalize script path to ensure %~dp0 resolves correctly
35- REM Using pushd/popd with %CD% is more reliable than %~dp0 alone
40+ REM Normalize script path
3641pushd " %~dp0 " > nul 2 >& 1
37- set SCRIPT_DIR = %CD%
42+ set " SCRIPT_DIR = %CD% "
3843popd > nul 2 >& 1
3944
4045REM -------------------------------
@@ -49,78 +54,75 @@ REM Parse command-line arguments
4954if " %~1 " == " " goto after_parse
5055
5156if /I " %~1 " == " -u" (
52- set user_param = -u %~2
57+ set " user_param = -u %~2 "
5358 shift
5459 shift
5560 goto parse_args
5661)
5762if /I " %~1 " == " -pw" (
5863 if " %~2 " == " " (
59- set passwd_param = -pw
64+ set " passwd_param = -pw"
6065 shift
6166 ) else (
62- set passwd_param = -pw %~2
67+ set " passwd_param = -pw %~2 "
6368 shift
6469 shift
6570 )
6671 goto parse_args
6772)
6873if /I " %~1 " == " -h" (
69- set host_param = -h %~2
74+ set " host_param = -h %~2 "
7075 shift
7176 shift
7277 goto parse_args
7378)
7479if /I " %~1 " == " -p" (
75- set port_param = -p %~2
80+ set " port_param = -p %~2 "
7681 shift
7782 shift
7883 goto parse_args
7984)
8085if /I " %~1 " == " -sql_dialect" (
81- set sql_dialect_param = -sql_dialect %~2
86+ set " sql_dialect_param = -sql_dialect %~2 "
8287 shift
8388 shift
8489 goto parse_args
8590)
8691
87- REM Any other arguments
88- set PARAMETERS = %PARAMETERS% %~1
92+ set " PARAMETERS = %PARAMETERS% %~1 "
8993shift
9094goto parse_args
9195
9296:after_parse
93-
9497REM Combine all parameters
95- set PARAMETERS = %host_param% %port_param% %user_param% %passwd_param% %sql_dialect_param% %PARAMETERS%
96-
98+ set " PARAMETERS = %host_param% %port_param% %user_param% %passwd_param% %sql_dialect_param% %PARAMETERS% "
9799
98100REM CLI configuration
99- set IOTDB_CLI_CONF = %IOTDB_HOME% \conf
100- set MAIN_CLASS = org.apache.iotdb.cli.Cli
101+ set " IOTDB_CLI_CONF = %IOTDB_HOME% \conf"
102+ set " MAIN_CLASS = org.apache.iotdb.cli.Cli"
101103
102- REM -------------------------------
103104REM CLASSPATH setup
104- set CLASSPATH = %IOTDB_HOME% \lib\*
105+ set " CLASSPATH = %IOTDB_HOME% \lib\*"
105106
106- REM -------------------------------
107107REM JAVA executable
108108if defined JAVA_HOME (
109109 if exist " %JAVA_HOME% \bin\java.exe" (
110- set JAVA = %JAVA_HOME% \bin\java.exe
110+ set " JAVA = %JAVA_HOME% \bin\java.exe"
111111 ) else (
112- set JAVA = java
112+ set " JAVA = java"
113113 )
114114) else (
115- set JAVA = java
115+ set " JAVA = java"
116116)
117117
118- REM -------------------------------
119118REM JVM options
120- set IOTDB_CLI_PARAMS = -Dlogback.configurationFile=%IOTDB_CLI_CONF% \logback-cli.xml
121- set JVM_OPTS = -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 --add-opens=java.base/java.lang=ALL-UNNAMED
119+ set " IOTDB_CLI_PARAMS = -Dlogback.configurationFile=%IOTDB_CLI_CONF% \logback-cli.xml"
120+ set " JVM_OPTS = -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 --add-opens=java.base/java.lang=ALL-UNNAMED"
122121
123- REM -------------------------------
124122REM Run CLI
125123" %JAVA% " %JVM_OPTS% %IOTDB_CLI_PARAMS% -cp " %CLASSPATH% " %MAIN_CLASS% %PARAMETERS%
126- exit /b %ERRORLEVEL%
124+
125+ REM -------------------------------
126+ endlocal
127+
128+ exit /b %ERRORLEVEL%
0 commit comments