1

私は猫ファイルの使い方を知っています

cat file.txt

しかし、私は変数を持っています

[string]$body = "Body message here"

テキストコンテンツを取得するために変更するのに助けが必要ですfile.txt

試してみましたが、うまくいきませんでした。

  [string]$body = $cat file.txt

ここに完全なスクリプトがありますparam。セクションを変更しようとしています。

param 
(        
    [string]$email = $(read-host "Enter a recipient email"),
    [string]$subject = $(read-host "Enter the subject header"), 
    [string]$body = $(read-host "Enter the email text (optional)")
)

param 
(        
    [string]$email = "my@email.com",
    [string]$subject = "server", 
    [string]$body = gc C:\Users\myuser\Documents\somefolder\GnuWin32\bin\status.txt
)

# ==========================================================================
#   Functions
# ==========================================================================

function Send-Email
(
    [string]$recipientEmail = $(Throw "At least one recipient email is required!"), 
    [string]$subject = $(Throw "An email subject header is required!"), 
    [string]$body
)
{
    $outlook = New-Object -comObject  Outlook.Application 
    $mail = $outlook.CreateItem(0) 
    $mail.Recipients.Add($recipientEmail) 
    $mail.Subject = $subject 
    $mail.Body = $body

    # For HTML encoded emails 
    # $mail.HTMLBody = "<HTML><HEAD>Text<B>BOLD</B>  <span style='color:#E36C0A'>Color Text</span></HEAD></HTML>"

    # To send an attachment 
    # $mail.Attachments.Add("C:\Temp\Test.txt") 

    $mail.Send() 
    Write-Host "Email sent!"
}

Write-Host "Starting Send-MailViaOutlook Script."

# Send email using Outlook
Send-Email -recipientEmail $email -subject $subject -body $body

Write-Host "Closing Send-MailViaOutlook Script."
4

2 に答える 2

3

以下を試してください

[string]$body = gc file.txt

このコマンドgcGet-Content、指定されたアイテムのコンテンツを取得し、それをstring

編集

C.B.指摘したように、あなたの例では、の代わりに使用しようとしてい$catますcat。 定義されていないが別のエイリアスで$catある変数を参照しようとしていますcatGet-Content

EDIT2

パラメータを初期化しようとしているようです。その場合、次のことを行う必要があります

[string]$body = $(gc "C:\Users\myuser\Documents\somefolder\GnuWin32\bin\status.txt")
于 2013-03-15T15:48:23.070 に答える
2

変化する:

[string]$body = ( gc C:\Users\myuser\Documents\somefolder\GnuWin32\bin\status.txt )

括弧に注意してください。

于 2013-03-15T16:00:15.217 に答える