This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 827735d1d77 fixed collection iotdb info unable to obtain information 
(#11938)
827735d1d77 is described below

commit 827735d1d77c2e2a407a9868b08b46fff6dcd262
Author: CloudWise-Lukemiao 
<[email protected]>
AuthorDate: Tue Jan 23 16:35:09 2024 +0800

    fixed collection iotdb info unable to obtain information (#11938)
---
 .../src/assembly/resources/tools/collect-info.bat  | 146 ++++++++++-----------
 1 file changed, 68 insertions(+), 78 deletions(-)

diff --git a/iotdb-client/cli/src/assembly/resources/tools/collect-info.bat 
b/iotdb-client/cli/src/assembly/resources/tools/collect-info.bat
index afd0a106328..32e65c3cda6 100644
--- a/iotdb-client/cli/src/assembly/resources/tools/collect-info.bat
+++ b/iotdb-client/cli/src/assembly/resources/tools/collect-info.bat
@@ -26,6 +26,12 @@ popd
 
 setlocal enabledelayedexpansion
 
+if "%JAVA_HOME%"=="" (
+    echo Please configure JAVA environment variables
+    pause
+    exit /b
+)
+
 set "COLLECTION_DIR_NAME=iotdb-info"
 set "COLLECTION_DIR=%IOTDB_HOME%\%COLLECTION_DIR_NAME%"
 set "COLLECTION_DIR_LOGS=%COLLECTION_DIR%\logs"
@@ -94,13 +100,13 @@ echo user_param: %user_param%
 echo passwd_param: %passwd_param%
 echo host_param: %host_param%
 echo port_param: %port_param%
-echo jdk_path_param: %jdk_path_param%
 echo data_dir_param: %data_dir_param%
 
 set "command=show version"
 
 call :collect_info
-echo "Program execution completed, directory name is %COLLECTION_DIR%"
+echo Program execution completed, directory name is %COLLECTION_DIR%
+pause
 exit /b
 
 :collect_info
@@ -125,29 +131,20 @@ call :execute_command "show regions" >> 
"%COLLECTION_FILE%" 2>&1
 call :execute_command "show databases" >> "%COLLECTION_FILE%" 2>&1
 call :execute_command "count devices" >> "%COLLECTION_FILE%" 2>&1
 call :execute_command "count timeseries" >> "%COLLECTION_FILE%" 2>&1
-
 exit /b
 
 :collect_system_info
-echo ===================== System Info =====================
+echo ===================== "System Info" =====================
 systeminfo
 exit /b
 
 :collect_jdk_version
-echo ===================== JDK Version =====================
-if not "%jdk_path_param%"=="" (
-    if exist "%jdk_path_param%" (
-        "%jdk_path_param%\bin\java" -version 2>&1
-    ) else (
-        echo Invalid JDK path: %jdk_path_param%
-    )
-) else (
-    java -version 2>&1
-)
+echo ===================== "JDK Version" =====================
+java -version 2>&1
 exit /b
 
 :collect_activation_info
-echo =================== Activation Info ====================
+echo =================== "Activation Info" ====================
 if exist "%~dp0/../activation" (
     if exist "%~dp0/../activation/license" (
         echo Active
@@ -177,7 +174,7 @@ call "%START_CLI_PATH%" -h "%host_param%" -p "%port_param%" 
-u "%user_param%" -p
 exit /b
 
 :total_file_num
-echo '===================== TsFile Info====================='
+echo ===================== "TsFile Info" =====================
 set "directories=%data_dir_param%"
 set "seqFileCount=0"
 set "unseqFileCount=0"
@@ -197,81 +194,74 @@ for %%d in ("%directories: =" "%") do (
         for /f %%a in ('dir /s /b /a-d "!seqdirectory!\\*.tsfile"  2^>nul ^| 
find /c /v ""') do (
             set /a "seqFileCount+=%%a"
         )
-     call :processDirectory "!seqdirectory!" seqFileSize
     )
     if exist "!unseqdirectory!\*" (
         for /f %%a in ('dir /s /b /a-d "!unseqdirectory!\\*.tsfile" 2^>nul ^| 
find /c /v ""') do (
             set /a "unseqFileCount+=%%a"
         )
-     call :processDirectory "!unseqdirectory!" unseqFileSize
     )
-
-
-    set /a "totalSeqFileSize+=!seqFileSize!"
-    set /a "totalUnseqFileSize+=!unseqFileSize!"
 )
 
 echo sequence(tsfile number): %seqFileCount%
 echo unsequence(tsfile number): %unseqFileCount%
-call :convertSize %totalSeqFileSize% convertedSeqSize
-call :convertSize %totalUnseqFileSize% convertedUnSeqSize
+call :directorySize "%data_dir_param%\sequence" convertedSeqSize
+call :directorySize "%data_dir_param%\unsequence" convertedUnSeqSize
 echo sequence(tsfile size): %convertedSeqSize%
 echo unsequence(tsfile size): %convertedUnSeqSize%
 exit /b
 
-:processDirectory
-setlocal enabledelayedexpansion
-set "dir=%~1"
-set "sizeVar=%~2"
-
-echo Set objFSO = CreateObject("Scripting.FileSystemObject") > tmp.vbs
-echo Set objFolder = objFSO.GetFolder("%dir%") >> tmp.vbs
-echo Dim totalSize >> tmp.vbs
-echo totalSize = 0 >> tmp.vbs
-echo CalculateFolderSize objFolder >> tmp.vbs
-echo WScript.Echo totalSize >> tmp.vbs
-echo Sub CalculateFolderSize(objCurrentFolder) >> tmp.vbs
-echo    For Each objFile In objCurrentFolder.Files >> tmp.vbs
-echo        totalSize = totalSize + objFile.Size >> tmp.vbs
-echo    Next >> tmp.vbs
-
-echo    For Each objSubFolder In objCurrentFolder.SubFolders >> tmp.vbs
-echo        CalculateFolderSize objSubFolder >> tmp.vbs
-echo    Next >> tmp.vbs
-echo End Sub >> tmp.vbs
-
-for /f "tokens=*" %%a in ('cscript //nologo tmp.vbs') do set data_size=%%a
-del tmp.vbs
-
-endlocal & set "%sizeVar%=%data_size%"
+:directorySize
+@echo off
+setlocal
+set "data_dir=%~1"
+set "vbscript=tmp.vbs"
+
+echo Option Explicit > "%vbscript%"
+echo. >> "%vbscript%"
+
+echo Dim directories >> "%vbscript%"
+echo directories = Split("%data_dir%", ",") >> "%vbscript%"
+echo. >> "%vbscript%"
+echo Dim totalSize >> "%vbscript%"
+echo totalSize = 0 >> "%vbscript%"
+echo. >> "%vbscript%"
+echo Dim objFSO >> "%vbscript%"
+echo Set objFSO = CreateObject("Scripting.FileSystemObject") >> "%vbscript%"
+echo. >> "%vbscript%"
+echo Dim directory >> "%vbscript%"
+echo For Each directory In directories >> "%vbscript%"
+echo     directory = Trim(directory) >> "%vbscript%"
+echo     If objFSO.FolderExists(directory) Then >> "%vbscript%"
+echo         Dim objFolder >> "%vbscript%"
+echo         Set objFolder = objFSO.GetFolder(directory) >> "%vbscript%"
+echo         totalSize = totalSize + objFolder.Size >> "%vbscript%"
+echo     End If >> "%vbscript%"
+echo Next >> "%vbscript%"
+echo. >> "%vbscript%"
+echo Set objFSO = Nothing >> "%vbscript%"
+echo. >> "%vbscript%"
+echo Function FormatSize(size) >> "%vbscript%"
+echo     Dim suffixes >> "%vbscript%"
+echo     suffixes = Array("B", "KB", "MB", "GB", "TB") >> "%vbscript%"
+echo     Dim index >> "%vbscript%"
+echo     index = 0 >> "%vbscript%"
+echo     Do While size ^>= 1024 And index ^< UBound(suffixes) >> "%vbscript%"
+echo         size = size / 1024 >> "%vbscript%"
+echo         index = index + 1 >> "%vbscript%"
+echo     Loop >> "%vbscript%"
+echo     FormatSize = FormatNumber(size, 2) ^& " " ^& suffixes(index) >> 
"%vbscript%"
+echo End Function >> "%vbscript%"
+echo If totalSize ^= 0 Then >> "%vbscript%"
+echo     WScript.Echo "0 B" >> "%vbscript%"
+echo Else >> "%vbscript%"
+echo     WScript.Echo FormatSize(totalSize) >> "%vbscript%"
+echo End If >> "%vbscript%"
+
+cscript //nologo "%vbscript%" > "tmp"
+
+set /p data_size=<"tmp"
+del tmp
+del %vbscript%
+endlocal & set "%2=%data_size%"
 exit /b
 
-:convertSize
-setlocal enabledelayedexpansion
-set "size=%~1"
-echo wsh.echo FormatNumber(cdbl(%size%)/(1024), 0) > tmp.vbs
-for /f "tokens=*" %%a in ('cscript //nologo tmp.vbs') do set data_size_kb=%%a
-del tmp.vbs
-set data_size_kb=!data_size_kb:,=!
-
-echo wsh.echo FormatNumber(cdbl(%size%)/(1024*1024), 1) > tmp.vbs
-for /f "tokens=*" %%a in ('cscript //nologo tmp.vbs') do set data_size_mb=%%a
-del tmp.vbs
-set data_size_mb=!data_size_mb:,=!
-
-echo wsh.echo FormatNumber(cdbl(%size%)/(1024*1024*1024), 1) > tmp.vbs
-for /f "tokens=*" %%a in ('cscript //nologo tmp.vbs') do set data_size_gb=%%a
-del tmp.vbs
-set data_size_gb=!data_size_gb:,=!
-
-if !data_size_gb! gtr 1 (
-    set "size=!data_size_gb!GB"
-) else if !data_size_mb! gtr 1 (
-    set "size=!data_size_mb!MB"
-) else if !data_size_kb! gtr 1 (
-    set "size=!data_size_kb!KB"
-) else (
-    set "size=!size!B"
-)
-endlocal & set "%~2=%size%"
-exit /b

Reply via email to