Email 脚本检查文件是否可用如果是,则发送电子邮件或不执行任何操作

Email 脚本检查文件是否可用如果是,则发送电子邮件或不执行任何操作,email,powershell,Email,Powershell,我有一个批处理脚本&一个PowerShell脚本,它按照计划向我发送电子邮件 批处理脚本如下所示:- 它会在SFTP位置登录,并带有所需的凭据进入特定路径,并将SFTP文件夹中可用的文件输出到本地计算机上的文本文件。这很好用 PowerShell脚本:- 此脚本读取outfile文件并发送电子邮件正文中的最后一行 我的问题是:- 当内容中缺少输出时,powershell脚本仍会运行并向我发送一封空白电子邮件 我正在寻找一个脚本,它将读取输出文件并发送电子邮件&如果输出文件是空的,它将什么也不做。

我有一个批处理脚本&一个PowerShell脚本,它按照计划向我发送电子邮件

批处理脚本如下所示:- 它会在SFTP位置登录,并带有所需的凭据进入特定路径,并将SFTP文件夹中可用的文件输出到本地计算机上的文本文件。这很好用

PowerShell脚本:- 此脚本读取outfile文件并发送电子邮件正文中的最后一行

我的问题是:- 当内容中缺少输出时,powershell脚本仍会运行并向我发送一封空白电子邮件


我正在寻找一个脚本,它将读取输出文件并发送电子邮件&如果输出文件是空的,它将什么也不做。

在读取输出文件之前,您只需检查其长度,例如

if(!(get-item output.txt).length){exit}

如果没有新的东西要处理,我就不希望有任何输出文件。如果输出文件从未被删除,并且只附加了附加信息,则应该始终有最后一行。这是Powershell脚本$fromaddress=”xxx@xxx.com“$toaddress=”xxx@xxx.com“$bccaddress=”“$CCaddress=“$Subject=”文件名文件$((获取日期).adddays(0).ToSortDateString())”$Body=Get Content C:\Users\XXX\Desktop\XXX\Filename.TXT | Select Object-last 1$smtpserver=“XXX.XXX.com”$message=new Object System.Net.Mail.MailMessage$message.From=$fromaddress$message.To.Add($toaddress)$message.CC.Add($CCaddress)$message.Bcc.Add($bccadress)$message.IsBodyHtml=$False$message.Subject=$Subject$message.body=$body$smtp=新对象Net.Mail.SmtpClient($smtpserver)$smtp.Send($message)