[批处理]【贡献一个清理项目垃圾文件的BAT】
直接上码@echo offCLS
mode con cols=80 lines=30 &color 0a
:menu
cls
set release=release
set debug=debug
echo.
echo 项目垃圾清理工具
echo.
echo.
echo 【1】 清理.ncb
echo.
echo 【2】 清理所有非项目文件(.ncb .obj .pdb...)
echo.
echo 荐 ==》 【3】 清理.ncb 并删除Debug、Release文件夹
echo.
echo 【4】 退出
echo.
set /p choice=请选择:
IF NOT "%choice%"=="" SET choice=%choice:~0,1%
if /i "%choice%"=="1" goto _1
if /i "%choice%"=="2" goto _2
if /i "%choice%"=="3" goto _3
if /i "%choice%"=="4" goto _4
echo 选择无效,请重新输入
echo.
goto cho
@echo off
:_1
@echo 开始清理...
for /r %%i in (*.ncb) do (del "%%i" /f /q & set /p gu=■<nul)
@echo.
@echo 清理完成...
pause
goto menu
:_2
@echo 开始清理...
for /r %%i in (*.ncb,*.obj,*.pdb,*.idb,*.manifest,*.pch,*.htm,*.ilk,*.dep,*.user,*.log) do (del "%%i" /f /q & set /p gu=■<nul)
@echo.
@echo 清理完成...
pause
goto menu
:_3
@echo 开始清理...
for /r %%i in (.,*.*) do (call :process %%~si)
@echo.
@echo 清理完成...
pause
goto menu
:process
if /i "%~x1" == ".ncb" (del /F /Q %1)
if /i "%~nx1" == "%release%" (call :re %1 & rd /S /Q %1)
if /i "%~nx1" == "%debug%" (call :de %1 & rd /S /Q %1)
goto :eof
:re
set /p gu=■<nul
for %%a in ("%1\*.exe","%1\*.dll","%1\*.lib") do (
if not exist "%1\..\bin" mkdir "%1\..\bin" > nul
copy /Y "%%a" "%1\..\bin\%%~na_%release%%%~xa" >nul 2>nul
)
goto :eof
:de
set /p gu=■<nul
for %%a in ("%1\*.exe","%1\*.dll","%1\*.lib") do (
if not exist "%1\..\bin" mkdir "%1\..\bin" > nul
copy /Y "%%a" "%1\..\bin\%%~na_%debug%%%~xa" >nul 2>nul
)
goto :eof
:_4
exit
页:
[1]