NavisworksTransport/LogViewer.bat
2025-07-18 13:32:50 +08:00

98 lines
2.2 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
echo ========================================
echo Navisworks Transport Plugin 日志查看器
echo ========================================
echo.
set LOGFILE=%USERPROFILE%\Desktop\NavisworksTransport_Debug.log
if not exist "%LOGFILE%" (
echo 日志文件不存在: %LOGFILE%
echo 请先运行分层拆分功能生成日志
pause
exit /b
)
echo 日志文件位置: %LOGFILE%
echo 文件大小:
for %%A in ("%LOGFILE%") do echo %%~zA 字节
echo.
:MENU
echo 请选择操作:
echo 1. 查看最新50行日志
echo 2. 查看最新100行日志
echo 3. 查看所有ERROR日志
echo 4. 查看最新会话日志
echo 5. 实时监控日志按Ctrl+C停止
echo 6. 清空日志文件
echo 7. 退出
echo.
set /p choice=请输入选择 (1-7):
if "%choice%"=="1" goto TAIL50
if "%choice%"=="2" goto TAIL100
if "%choice%"=="3" goto ERRORS
if "%choice%"=="4" goto SESSION
if "%choice%"=="5" goto MONITOR
if "%choice%"=="6" goto CLEAR
if "%choice%"=="7" goto EXIT
echo 无效选择,请重新输入
goto MENU
:TAIL50
echo.
echo ========== 最新50行日志 ==========
powershell -Command "Get-Content '%LOGFILE%' -Tail 50"
echo.
pause
goto MENU
:TAIL100
echo.
echo ========== 最新100行日志 ==========
powershell -Command "Get-Content '%LOGFILE%' -Tail 100"
echo.
pause
goto MENU
:ERRORS
echo.
echo ========== 所有ERROR日志 ==========
findstr /i "ERROR" "%LOGFILE%"
echo.
pause
goto MENU
:SESSION
echo.
echo ========== 最新会话日志 ==========
powershell -Command "$content = Get-Content '%LOGFILE%'; $lastSession = ($content | Select-String 'SESSION.*新会话开始' | Select-Object -Last 1).LineNumber - 1; if($lastSession -ge 0) { $content[$lastSession..($content.Length-1)] } else { '没有找到会话标记' }"
echo.
pause
goto MENU
:MONITOR
echo.
echo ========== 实时监控日志 (按Ctrl+C停止) ==========
echo 正在监控日志文件变化...
powershell -Command "Get-Content '%LOGFILE%' -Wait -Tail 10"
goto MENU
:CLEAR
echo.
set /p confirm=确定要清空日志文件吗?(y/N):
if /i "%confirm%"=="y" (
echo. > "%LOGFILE%"
echo 日志文件已清空
) else (
echo 操作已取消
)
echo.
pause
goto MENU
:EXIT
echo 再见!
pause