다음과 같은 문제가 발생합니다. 로그 파일이 첨부 된 이메일을 보내는 powershell 스크립트가 있습니다. 유일한 문제는 비어 있지 않은 로그 파일 만 필요하다는 것입니다.Powershell 메일 보내기
If ((Get-content "Log.txt") -gt 0) {
$smtp.Send($msg)
echo "email sent"
} else {
echo "File is blank"
}
-gt 0
나를 위해 작동하지 않는 것 같습니다 : 그래서 나는이 스크립트를 사용하는 것을 시도했다. 필자가 뭘 했건 상관없이 powershell은 여전히 빈 로그를 보냅니다. 내가 잘못한 곳을 보여 주시겠습니까? 나뿐만 아니라이 시도 :
If ((Get-Content $file) -eq $Null) {
"File is blank"
} else {
$smtp.Send($msg)
echo "email sent"
}
하지만 여전히 작동하지 않습니다.
미리 감사드립니다.
저는 PowerShell에 대해 잘 모릅니다. 기본적으로 Windows를 모두 피합니다. 하지만'Get-content' 대신에 실제 파일 크기를 확인할 수 있다고 가정합니다. 그런 다음 파일 크기를 사용하여 파일을 보낼지 여부를 결정하십시오. – user1596138
안녕하세요 Josiah, 의견 주셔서 감사합니다. 나는 실제 파일 크기로 시도했지만 결과는 같았다. 빈 파일 이름이 전송됩니다. if ((Get-ChildItem "Log.txt") | foreach-process ($ _ 길이/1MB -gt ("0.00"))) { $ smtp.Send ($ msg) \t "다른 \t은} { \t 에코"파일 \t} 것은 내가 그 크기가 0킬로바이트 인 빈 파일을 만들 수 있지만 서버의 로그 파일이 1킬로바이트 경우에도 비어 있다는 것입니다 "비어 있습니다. – user1097593
우선, 저는 여러분이 새로운 사람이라는 것을 알고 있습니다. 여러분의 코드를 역 인용 부호로 묶어서 블록으로 포맷하도록 알려줄 것이라고 생각했습니다. 둘째로 내가 할 것은 파일에 캐릭터를 넣는 것만 큼 파일의 크기가 큰지 확인하는 것입니다. 2KB로 변경되면 아무것도 <= 1KB를 공백으로 간주합니다. – user1596138