guoyu/Test/bat/修复文件路径.bat

70 lines
1.8 KiB
Batchfile
Raw Normal View History

@echo off
chcp 65001 >nul
echo ========================================
echo 文件路径修复工具
echo ========================================
echo.
echo 此脚本将修复重复的 upload 目录问题
echo.
echo 当前问题:
echo 文件位置D:\wwwroot\study_web\web\profile\upload\upload\...
echo 应该是: D:\wwwroot\study_web\web\profile\upload\...
echo.
echo ⚠️ 警告:此操作将移动文件,请先备份数据!
echo.
pause
echo.
echo [1/4] 检查目录结构...
if not exist "D:\wwwroot\study_web\web\profile\upload\upload" (
echo ❌ 错误:未找到 D:\wwwroot\study_web\web\profile\upload\upload 目录
echo 可能文件已经在正确位置,或路径配置不正确
pause
exit /b 1
)
echo ✅ 找到需要修复的目录
echo.
echo [2/4] 移动文件到正确位置...
cd /d "D:\wwwroot\study_web\web\profile\upload"
:: 移动所有子目录和文件
for /d %%D in (upload\*) do (
echo 移动目录: %%D
xcopy "%%D" "%%~nxD\" /E /I /Y
)
:: 移动所有文件
for %%F in (upload\*.*) do (
echo 移动文件: %%F
move /Y "%%F" "."
)
echo ✅ 文件移动完成
echo.
echo [3/4] 删除空的 upload 目录...
rd /s /q "upload"
echo ✅ 目录清理完成
echo.
echo [4/4] 数据库更新说明
echo.
echo ⚠️ 重要:还需要更新数据库中的文件路径!
echo.
echo 请在 MySQL 中执行以下 SQL
echo.
echo UPDATE study_courseware
echo SET file_path = REPLACE(file_path, '/profile/upload/upload/', '/profile/upload/')
echo WHERE file_path LIKE '/profile/upload/upload/%%';
echo.
echo 或者运行:修复数据库路径.sql
echo.
echo ========================================
echo 文件移动完成!
echo 请执行数据库更新,然后重启后端服务
echo ========================================
pause