email - 在Powershell中使用电子邮件正文创建.bat文件

标签 email powershell batch-file outlook-redemption

我目前正在处理一个脚本,该脚本将从某个发件人处读取邮件,该发件人将发送一些命令以使脚本运行。

主要思想:

发件人发送带有以下命令的邮件:ipconfig /all > result.txt,并且在收件人端运行的脚本将此命令复制到.bat文件,然后运行.bat文件以处理该命令。

编码:

$junk = $routlook.GetDefaultFolder(23)
$MI = $junk.items

foreach($m in $MI)
{
    if($m.SenderEmailAddress -eq '<sender-address>')
    {
        Echo "@ECHO OFF" > com.bat
        Echo $MI.item(1).Body > com.bat
        .\com.bat
    }
    break
}

错误:

enter image description here

最佳答案

您的问题是您没有指定输出文件的编码。

解决此问题的最简单方法是使用Out-File cmdlet并自行指定编码。请注意,对Out-File的第二次及后续调用必须指定-Append参数,否则您将覆盖文件。

$> "@ECHO OFF" | Out-File -FilePath cmd.bat -Encoding ascii
$> "Echo hi"   | Out-File -FilePath cmd.bat -Encoding ascii -Append
$> .\cmd.bat

关于email - 在Powershell中使用电子邮件正文创建.bat文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602742/

相关文章:

java - 检查 ParseUser 中的电子邮件是否已验证代码?

PowerShell 脚本写成一长行 - 自动格式化?

php - 在Windows 10上的多个PHP版本之间进行切换的同时,在WAMP(WAMP64)中实现CLI PHP的正确方法

batch-file - 批处理 - xcopy 早于 x 分钟的文件

batch-file - 为什么这个带有多个文字搜索字符串的 FINDSTR 示例没有找到匹配项?

email - sendgrid 电子邮件模板中的 if 语句

python - 如何使用当前的电子邮件库附加txt文件?

html - 删除段落之间的空格

Powershell 从文件夹中捕获第一个文件名

powershell - Invoke-Command 不返回基于 PSObject 属性的对象