PS C:\Projects>
get-childitem -recurse
| where { $_.Extension -eq ".csproj" }
| foreach { Get-Content $_.FullName
| foreach { $_.Length } }
Это печатает размер строки каждой строки в csproj (правда, бессмысленно). Как я могу также вывести внешнюю переменную (так сказать), когда я нырнул дальше. Например, по понятным причинам я хотел, чтобы он тоже напечатал имя файла, чтобы я получил:
Dog.csproj: 10
Dog.csproj: 50
Dog.csproj: 4
Cat.csproj: 100
Cat.csproj: 440
Я полагаю, что я хочу сделать что-то подобное, но это, очевидно, не работает (и да, пример не имеет смысла)
PS C:\Projects>
get-childitem -recurse
| STORE THIS IN $filename | where { $_.Extension -eq ".csproj" }
| foreach { Get-Content $_.FullName
| foreach { $filename ":" $_.Length } }
Я играл с tee-object и outputvariable, но я немного растерялся. Если бы гуру PowerShell мог ответить, это помогло бы, также если бы вы могли порекомендовать книгу или ресурс, который объясняет основы синтаксиса языка, а не материал об обезьянах API COM / WMI / VB и т. Д. будет наиболее ценится. Спасибо