$starting_dir = Get-Location cargo clean Get-ChildItem -Recurse -Filter "Cargo.toml" | ForEach-Object { $project_dir = $_.DirectoryName Push-Location $project_dir cargo build Pop-Location } Set-Location $starting_dir