Saya perlu memproses copy pekerjaan SVN dalam skrip PS, tapi saya mengalami kesulitan menyampaikan argumen ke fungsi. Inilah yang saya miliki:
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] $_}
Saya ingin lulus $arg[0]
sebagai $arg1
untuk foo
, dan $arg[1]
sebagai $arg2
. Namun, itu tidak berhasil, karena beberapa alasan $arg1
selalu kosong:
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>
Catatan: The "blah"
parameter tidak lulus sebagai $arg1
.
Saya benar-benar yakin ini adalah sesuatu yang lucu sederhana (saya baru saja memulai dengan melakukan PS dan masih merasa sangat canggung), tetapi saya telah membenturkan kepala saya terhadap ini selama lebih dari satu jam sekarang, dan saya tidak dapat menemukan apa pun.