2015-04-29 4 views
0

У меня есть этот скрипт Powershell, который выполняет итерацию через каталоги этой папки и запускает git log.Как передать параметры Powershell через трубу

Однако я не могу понять, как получить параметр $author с помощью команды git.

Param(
    [string]$author, 
    [string]$since 
) 
Get-ChildItem | ? { $_.PSIsContainer } | % { Push-Location $_.FullName; Write-Host "--" (Get-Location);` 
git --no-pager log --author=$author --since='1 friday ago' --until='now' --format='%Cgreen%cr%Creset %s%Creset' --graph --decorate;` 
Pop-Location } 
+0

Что вы получаете, когда вы вызываете сценарий? –

+0

Список имен папок ... Сейчас я рассматриваю вопрос о кавычках. –

+0

Да, вы обязательно должны передать аргумент '$ author' в кавычки. –

ответ

1

Учитывая этот сценарий:

# Log.ps1 
Param(
    [string]$author 
) 

Get-ChildItem -Directory | % { Push-Location $_.FullName; git --no-pager log --author=$author; Pop-Location } 

Призывая его, как это дает правильный результат:

.\Log.ps1 "SomeAuthor" 
Смежные вопросы