对目录中的每个项目运行“flutter clean”命令

Vip*_*egi 3 windows dart flutter

作为一名 Flutter 开发人员,我参与过许多项目。我必须偶尔处理所有这些问题。现在这些项目位于我的驱动器上占用 30+ GB 的单个目录中。删除项目的构建缓存以节省一些空间是个好主意。因此,我想编写一个脚本,该脚本将循环遍历每个脚本并flutter clean在每个文件夹中运行,而不是在每个项目的根目录下手动运行命令。

经过 Google 和 StackOverflow 搜索后,我想出了一个命令:

for /D %G in ("D:\MyProjects\*") do flutter clean "%~fG"

这个命令为每个文件夹执行 flutter clean 命令,例如:

C:\Users\vipin>flutter clean "D:\MyProjects\Project1"
C:\Users\vipin>flutter clean "D:\MyProjects\Project2"
C:\Users\vipin>flutter clean "D:\MyProjects\Project3"
C:\Users\vipin>flutter clean "D:\MyProjects\Project4"
Run Code Online (Sandbox Code Playgroud)

这应该有效,因为命令声明要flutter clean为每个文件夹运行,就像它看起来的那样。不幸的是,它没有并抛出错误:

C:\Users\vipin>flutter clean "D:\MyProjects\Project1"
Error: No pubspec.yaml file found.
This command should be run from the root of your Flutter project.

C:\Users\vipin>flutter clean "D:\MyProjects\Project2"
Error: No pubspec.yaml file found.
This command should be run from the root of your Flutter project.

C:\Users\vipin>flutter clean "D:\MyProjects\Project3"
Error: No pubspec.yaml file found.
This command should be run from the root of your Flutter project.

C:\Users\vipin>flutter clean "D:\MyProjects\Project4"
Error: No pubspec.yaml file found.
This command should be run from the root of your Flutter project.
...
Run Code Online (Sandbox Code Playgroud)

嗯,每个文件夹中都存在 pubspec.yaml 文件,我认为该flutter clean命令要求您提示指向项目的根目录,如下所示才能完成这项工作:

D:\Myprojects\Project1>flutter clean
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找一个命令/脚本,可以将命令的提示移动到每个项目的根目录并执行命令。

Ahm*_*ama 6

如果有人正在寻找MacOs / Linux版本:

for dir in ~/dev/* ; do (cd "$dir" && flutter clean ); done
Run Code Online (Sandbox Code Playgroud)

注意:更改项目的主路径,而不是~/dev将 留/*在其末尾