guoyu/修复文件路径.bat

70 lines
1.8 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
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