Flutter是一个流行的跨平台应用框架,但随着项目的增长,构建文件和缓存可能会占用大量空间。手动运行flutter clean
可以解决这个问题,但当处理多个项目时,这个过程可能会变得繁琐且易于遗忘。因此我们可以使用脚本来批量清理Flutter 构建文件
思路
- 首先,你需要一个能够识别Flutter项目的标准。通常,Flutter项目目录中会包含
pubspec.yaml
文件。 - 接着,使用脚本遍历目录,查找含有
pubspec.yaml
文件的文件夹。 - 最后,对每个找到的Flutter项目执行
flutter clean
命令。
Windows 批处理脚本:
创建一个 clean_flutter_projects.bat
文件输入如下内容
bat
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: 设置脚本所在目录为搜索起点
SET START_DIR=%~dp0
:: 遍历目录寻找pubspec.yaml文件
FOR /R "%START_DIR%" %%D IN (.) DO (
IF EXIST "%%~fD\pubspec.yaml" (
ECHO Found Flutter project at %%D
:: 进入项目目录
PUSHD "%%D"
:: 执行flutter clean
CALL flutter clean
:: 返回之前的目录
POPD
)
)
ECHO All Flutter projects cleaned.
ENDLOCAL
如何运行?
如下图,将批处理文件复制到项目根目录下,然后双击即可运行
执行效果
Mac Shell脚本: 打开终端,使用nano
或vim
创建一个新的脚本文件,例如clean_flutter_projects.sh
:
shell
#!/bin/bash
# 获取脚本所在的目录
START_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# 遍历目录寻找pubspec.yaml文件,并执行flutter clean
find "$START_DIR" -name 'pubspec.yaml' | while read -r file; do
# 获取Flutter项目的目录路径
project_dir=$(dirname "$file")
echo "Found Flutter project at $project_dir"
# 进入项目目录
cd "$project_dir" || exit
# 执行flutter clean
flutter clean
# 返回到脚本开始的目录,以继续搜索
cd "$START_DIR" || exit
done
echo "All Flutter projects cleaned."
确保给这个脚本文件执行权限:
shell
chmod +x clean_flutter_projects.sh
和上面win做法一样,复制到项目根目录下,在终端执行
shell
./clean_flutter_projects.sh