- 添加统一的导航菜单到所有页面 - 修复页面路由映射和高亮状态 - 创建 navigation.js 统一管理页面跳转 - 添加 test_navigation.py 路由测试工具 - 支持仪表板、预警管理、智能对话、HTTP对话页面间无缝切换 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
95 lines
2.3 KiB
Batchfile
95 lines
2.3 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
chcp 65001 >nul 2>&1
|
|
echo ========================================
|
|
echo 代码文件编码批量转换工具
|
|
echo ========================================
|
|
echo.
|
|
|
|
:: 设置要扫描的文件扩展名
|
|
set "extensions=*.py *.java *.js *.ts *.html *.css *.xml *.json *.md *.txt *.bat *.cmd *.ps1 *.sh *.yml *.yaml *.ini *.cfg *.conf *.properties"
|
|
|
|
:: 设置目标目录(默认为当前目录)
|
|
set "target_dir=%cd%"
|
|
if not "%~1"=="" set "target_dir=%~1"
|
|
|
|
echo 目标目录: %target_dir%
|
|
echo.
|
|
|
|
:: 检查目录是否存在
|
|
if not exist "%target_dir%" (
|
|
echo 错误:指定的目录不存在
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
:: 创建临时目录
|
|
set "temp_dir=%temp%\encoding_convert_%random%"
|
|
mkdir "%temp_dir%"
|
|
|
|
:: 统计变量
|
|
set "total_files=0"
|
|
set "converted_files=0"
|
|
set "skipped_files=0"
|
|
|
|
echo 开始扫描文件...
|
|
echo.
|
|
|
|
:: 遍历所有指定扩展名的文件
|
|
for %%e in (%extensions%) do (
|
|
for /r "%target_dir%" %%f in (%%e) do (
|
|
set /a total_files+=1
|
|
call :process_file "%%f"
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo 转换完成
|
|
echo ========================================
|
|
echo 总文件数: %total_files%
|
|
echo 已转换: %converted_files%
|
|
echo 已跳过: %skipped_files%
|
|
echo.
|
|
|
|
:: 清理临时目录
|
|
rd /s /q "%temp_dir%" 2>nul
|
|
|
|
pause
|
|
exit /b
|
|
|
|
:process_file
|
|
set "file=%~1"
|
|
set "is_utf8=0"
|
|
|
|
:: 检查文件是否已经是UTF-8编码
|
|
powershell -Command "try { $content = [System.IO.File]::ReadAllText('%file%', [System.Text.Encoding]::UTF8); $content | Out-Null; exit 0 } catch { exit 1 }" >nul 2>&1
|
|
if %errorlevel% equ 0 set "is_utf8=1"
|
|
|
|
if %is_utf8% equ 1 (
|
|
echo [跳过] %file% (已经是UTF-8)
|
|
set /a skipped_files+=1
|
|
) else (
|
|
echo [转换] %file%
|
|
|
|
:: 尝试检测并转换编码
|
|
powershell -Command ^
|
|
"$path = '%file%'; ^
|
|
try { ^
|
|
$bytes = [System.IO.File]::ReadAllBytes($path); ^
|
|
$encoding = [System.Text.Encoding]::GetEncoding('GB2312'); ^
|
|
$content = $encoding.GetString($bytes); ^
|
|
[System.IO.File]::WriteAllText($path, $content, [System.Text.Encoding]::UTF8); ^
|
|
exit 0 ^
|
|
} catch { ^
|
|
exit 1 ^
|
|
}"
|
|
|
|
if %errorlevel% equ 0 (
|
|
set /a converted_files+=1
|
|
) else (
|
|
echo [警告] 无法转换 %file%
|
|
)
|
|
)
|
|
goto :eof
|