1
나는 폴더를 폴링하기위한 스크립트로 작업하고있다. 파일을이 폴더에 놓으면받는 사람에게 전자 메일이 전송됩니다.로컬 변수가 null 인 이유는 무엇입니까?
$folder = "D:\\temptest"
$filter = "*.txt"
$fsw = New-Object System.IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubDirectories = $false
NotifyFilter = [System.IO.NotifyFilters]'FileName, LastWrite'
}
$actionToRun = {
$path = $Event.SourceEventArgs.FullPath
$name = $Event.SourceVentArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host $name # --> Here $name contains the file name
$Recipient = "Peter Rundqvist <to address>"
$Sender = "SocSupport <from address>"
$Subject = "New document"
$Body = $name # --> But here, $name is null
Send-MailMessage -To $Recipient -From $Sender -Subject $Subject -Body $Body -SmtpServer "some mail server"
}
$onCreated = Register-ObjectEvent -InputObject $fsw -EventName Created -SourceIdentifier FileCreated -Action $actionToRun
왜 $name
이 잘 Write-Host
작품에서 매개 변수로 사용하여, 반면 Send-MailMessage
(이 널 (null)로 확장)에서 매개 변수로 사용할 수 없습니다 그 것이다 : 여기
감사합니다. Chris! 내가 어떻게 그걸 놓칠 수 있었는지 모르겠어. 너는 날 구 했어! –