Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PowerShell中获取要作为电子邮件附件发送的相对路径文本文件?_Powershell_Email_Text_Attachment_Relative Path - Fatal编程技术网

如何在PowerShell中获取要作为电子邮件附件发送的相对路径文本文件?

如何在PowerShell中获取要作为电子邮件附件发送的相对路径文本文件?,powershell,email,text,attachment,relative-path,Powershell,Email,Text,Attachment,Relative Path,Hello Stack overflow社区,对于一个安全类,我尝试复制一个插入的“坏”usb,然后通过outlook将生成的文本文件发送给收件人 我会说我是一个PowerShell新手,所以这可能是一些简单的事情,我只是不明白 我无法获取$var1的相对路径 当我使用生成文件的绝对路径时,它会发送附件 我试图使用Get-ChildItem e:\-filter“*.txt”动态填充此变量,但当它到达.Attchments.Add($var1)时,调用Add时会出现错误。找不到成员。 同时,其上

Hello Stack overflow社区,对于一个安全类,我尝试复制一个插入的“坏”usb,然后通过outlook将生成的文本文件发送给收件人

我会说我是一个PowerShell新手,所以这可能是一些简单的事情,我只是不明白

我无法获取$var1的相对路径

当我使用生成文件的绝对路径时,它会发送附件

我试图使用
Get-ChildItem e:\-filter“*.txt”
动态填充此变量,但当它到达
.Attchments.Add($var1)
时,调用Add时会出现
错误。找不到成员。

同时,其上的.Count函数确实返回1,表示文件存在

我找不到这个错误的确切含义。谷歌搜索该错误会导致Microsoft文档,而与Powershell中的编程无关。我尝试过在Get ChildItem语句和其他各种语法调整中使用
”。到目前为止,我还没有找到一个好的方法来替代我们决定发送电子邮件的方式。为此保护SMTP是不实际的,因为它不适合这种情况

New-Item -Path E:\ -Name "DynamicNameOfPC" -ItemType "file" -Value "Test"
(Get-ChildItem e:\ -filter "*.txt").Count

$var1 = Get-ChildItem e:\ -filter "*.txt"


$OL = New-Object -ComObject outlook.application

Start-Sleep 5
#Create Item
$mItem = $OL.CreateItem("olMailItem")

$mItem.To = "Test@test.com"
$mItem.Subject = "Testing Script"
$mItem.Body = "Testing"
$mItem.Attachments.Add($var1)
$mItem.Send()    

`

通过对一个不和谐的随机用户进行分析,我们能够意识到Get ChildItem获取的是文件名,而不是完整路径


添加一个路径为E:\before
$var1
的变量,使其工作正常。

相对路径?相对于什么?那会有什么帮助呢?听起来像是在转移注意力
Get ChildItem
不以字符串形式返回路径名,它返回FileInfo对象,这可能就是打破add()的原因。如果绝对路径有效(而且应该有效),那么
$var1.FullName
应该有效。感谢您对.FullName函数的解释。这和我在自我回答中所用的作弊方式一样有效。全名显然是一个更好的解决方案。我建议您阅读并理解。返回和,其中包括完整路径作为属性
Fullname