PS komut dosyasında bir SVN çalışma kopyasını işlemek gerekiyor, ancak işlevlere argümanlar geçirmede sorun yaşıyorum. İşte sahip olduğum şeyler:
function foo($arg1, $arg2)
{
echo $arg1
echo $arg2.FullName
}
echo "0: $($args[0])"
echo "1: $($args[1])"
$items = get-childitem $args[1]
$items | foreach-object -process {foo $args[0] $_}
Geçmek istiyorum $arg[0]
olarak $arg1
için foo
, ve $arg[1]
olarak $arg2
. Ancak, işe yaramaz, bazı nedenlerden dolayı $arg1
her zaman boştur:
PS C:\Users\sbi> .\test.ps1 blah .\Dropbox
0: blah
1: .\Dropbox
C:\Users\sbi\Dropbox\Photos
C:\Users\sbi\Dropbox\Public
C:\Users\sbi\Dropbox\sbi
PS C:\Users\sbi>
Not:"blah"
parametresi olarak kabul edilmez $arg1
.
Kesinlikle çok komik bir şey olduğundan eminim (sadece PS yapmaya başladım ve hala çok sakar hissediyorum), ama şimdi bir saatten fazla bir süredir başımı buna çarptım ve hiçbir şey bulamıyorum.