Powershell附件发送
Powershell attachment sending
我需要帮助。
这个命令对我不起作用,因为
The system cannot find the file specified.
powershell -command "& { Send-MailMessage -From "janohanes155 <janohanes155@gmail.com>" -To "janohanes155 <janohanes155@gmail.com>" -Subject "Sending the Attachment" -Body "Got it" -Attachments "c:\shade\info.txt" -Priority High -dno onSuccess, onFailure -SmtpServer "smtp.gmail.com" -Credential "********/*********"}"
我该怎么办?
感谢您的帮助。
您的问题是您的双引号字符串包含 embedded "
个字符。你忘了逃跑.
此外,因为有潜在的2层escaping - 一层用于当前shell 和一个用于 目标 shell, 可能需要额外的转义 .
具体的转义方法取决于您在何处调用命令from。
以下示例使用更简洁地演示问题的简化命令;在纯 PowerShell 形式中,命令是:
Write-Output "jdoe <jdoe@example.com>"
奇怪的是,当从外部向 PowerShell 传递 -Command
值 时,它需要嵌入 "
个字符。 \
-转义,而PowerShell-内部 `
-转义必须使用。
来自 Windows 运行 对话框 (Win+R):
为了目标 PowerShell 实例(没有 current shell 涉及):
powershell -command "& { Write-Output \"jdoe <jdoe@example.com>\" }"
来自 cmd.exe
(命令提示符):
powershell -command "& { Write-Output \"jdoe ^<jdoe@example.com^>\" }"
除了 \
- 转义 "
之外,您还必须 ^
- 转义 <
和 >
个字符 cmd.exe
认为 是双引号字符串的外部,因为无法识别\
-转义的"
字符。作为转义(cmd.exe
仅识别 ""
)。
cmd.exe
将 <
和 >
意外解释为 shell 重定向运算符 导致了错误您遇到的消息。
来自 PowerShell 本身:
powershell -command "& { Write-Output \`"jdoe <jdoe@example.com>\`" }"
除了 \
-转义 "
target PowerShell 实例之外,您还必须 `
-转义 "
字符。对于 current PowerShell 实例(原文如此)。
我需要帮助。
这个命令对我不起作用,因为
The system cannot find the file specified.
powershell -command "& { Send-MailMessage -From "janohanes155 <janohanes155@gmail.com>" -To "janohanes155 <janohanes155@gmail.com>" -Subject "Sending the Attachment" -Body "Got it" -Attachments "c:\shade\info.txt" -Priority High -dno onSuccess, onFailure -SmtpServer "smtp.gmail.com" -Credential "********/*********"}"
我该怎么办?
感谢您的帮助。
您的问题是您的双引号字符串包含 embedded "
个字符。你忘了逃跑.
此外,因为有潜在的2层escaping - 一层用于当前shell 和一个用于 目标 shell, 可能需要额外的转义 .
具体的转义方法取决于您在何处调用命令from。
以下示例使用更简洁地演示问题的简化命令;在纯 PowerShell 形式中,命令是:
Write-Output "jdoe <jdoe@example.com>"
奇怪的是,当从外部向 PowerShell 传递 -Command
值 时,它需要嵌入 "
个字符。 \
-转义,而PowerShell-内部 `
-转义必须使用。
来自 Windows 运行 对话框 (Win+R):
为了目标 PowerShell 实例(没有 current shell 涉及):
powershell -command "& { Write-Output \"jdoe <jdoe@example.com>\" }"
来自 cmd.exe
(命令提示符):
powershell -command "& { Write-Output \"jdoe ^<jdoe@example.com^>\" }"
除了 \
- 转义 "
之外,您还必须 ^
- 转义 <
和 >
个字符 cmd.exe
认为 是双引号字符串的外部,因为无法识别\
-转义的"
字符。作为转义(cmd.exe
仅识别 ""
)。
cmd.exe
将 <
和 >
意外解释为 shell 重定向运算符 导致了错误您遇到的消息。
来自 PowerShell 本身:
powershell -command "& { Write-Output \`"jdoe <jdoe@example.com>\`" }"
除了 \
-转义 "
target PowerShell 实例之外,您还必须 `
-转义 "
字符。对于 current PowerShell 实例(原文如此)。