我是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
但我一直收到以下错误:
“表达式只允许作为管道的第一个元素。”
我有没有办法使用管道而不必硬编码?
答案 0 :(得分:1)
您应该查看Send-MailMessage
,但您尝试的区别在于第一个是表达式,第二个是字符串,您无法管道输入字符串。
但是如果你使用call operator &
,你就可以进入:
cat $strEmailFile | & ($Dir + "\sendmail.exe") -t
请注意,您需要使用括号来首先运行连接变量和字符串的表达式。