我对PowerShell相当陌生。我创建了一个变量,其中包含一些数据,然后将这些数据传递给电子邮件生成器:
$strEmailFile = "C:\Testing\SomeTextFile.txt"
cat $strEmailFile | E:\sendmail.exe -t我的问题是我不想对电子邮件生成软件的驱动器进行硬编码。所以我希望代码是这样的:
$strEmailFile = "C:\Testing\SomeTextFile.txt"
$Dir = "E:"
cat $strEmailFile | $Dir + "\sendmail.exe" -t但我不断地发现以下错误:
“表达式只允许作为管道的第一个元素。”
有没有办法让我使用管道,但不需要硬编码?
发布于 2017-03-08 18:54:23
您应该查看Send-MailMessage,但是您的尝试之间的区别是,第一个表达式是一个表达式,第二个是字符串,您不能将其转换为字符串。
但是,如果您使用&,您可以通过管道将其转换为:
cat $strEmailFile | & ($Dir + "\sendmail.exe") -t注意,您需要括号来首先运行连接变量和字符串的表达式)。
https://stackoverflow.com/questions/42679381
复制相似问题