@echo off chcp 65001 >nul cd /d D:\code\db set "MYSQL_PATH=C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" for %%F in (*.sql) do ( echo 正在处理文件: %%F "%MYSQL_PATH%" -u root -p123456 -e "CREATE DATABASE IF NOT EXISTS %%~nF;" :: 第一次导入尝试 "%MYSQL_PATH%" -u root -p123456 %%~nF < %%F :: 检查数据库是否存在 "%MYSQL_PATH%" -u root -p123456 -e "USE %%~nF;" 2>nul if errorlevel 1 ( echo 数据库 %%~nF 第一次导入失败,尝试重新导入... :: 第二次导入尝试 "%MYSQL_PATH%" -u root -p123456 -e "DROP DATABASE IF EXISTS %%~nF; CREATE DATABASE %%~nF;" "%MYSQL_PATH%" -u root -p123456 %%~nF < %%F :: 再次检查 "%MYSQL_PATH%" -u root -p123456 -e "USE %%~nF;" 2>nul if errorlevel 1 ( echo 错误: 数据库 %%~nF 导入失败! ) else ( echo 数据库 %%~nF 重新导入成功 ) ) else ( echo 数据库 %%~nF 导入完成 ) )