运行 目录中每个项目的 `flutter clean` 命令

Run `flutter clean` command on each project in a directory

作为一名 Flutter 开发者,我从事过很多项目。我必须偶尔处理所有这些。现在这些项目位于一个目录中,在我的驱动器上占用了 30+ GB。删除项目的构建缓存以节省一些 space 是个好主意。所以我想写一个脚本来循环遍历每个文件夹和每个文件夹中的 运行 flutter clean 而不是 运行 在每个项目的根目录下手动执行命令。

在 Google 和 Whosebug 搜索之后我想出了一个命令:

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"

这应该有效,因为命令状态为每个文件夹看起来 运行 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.
...

好吧,pubspec.yaml 文件在每个文件夹中都非常多,我认为 flutter clean 命令需要您提示指向项目的 ROOT,如下所示:

D:\Myprojects\Project1>flutter clean

现在我正在寻找 command/script 任何东西来将命令的提示移动到每个项目的根目录并执行命令。

很高兴你提出这个问题。对于我的项目列表,我也有同样的想法。下面的命令将完全按照您的期望执行。确保从 D:\MyProjects

运行

for /d %i in (D:\MyProjects\*) do ( cd "%i" & flutter clean )