我有一個Powershell腳本,它循環執行多個文件並將文件信息寫入控制檯。輸出到屏幕的內容正是我需要通過電子郵件發送的內容。通過電子郵件發送Powershell腳本的所有輸出
電子郵件部分很簡單,但我不知道如何捕獲發送到屏幕的內容並將其發送到主體中。這是相關的代碼。只有第一次迭代存儲在$ emailbody變量中。
EDITED例:
$backupLocations = #List of paths#
$emailBody=""
$currentFile = "nothing"
foreach ($loc in $backupLocations) {
$files = get-childitem "$loc\\*" -recurse -include *.bak
foreach ($file in $files) {
if (test-path $file) {
$prop = Get-ItemProperty -Path "$file"
Write-Output $prop | tee-Object -variable $currentFile
$emailBody += $currentFile
}
}
}
# Code to send $emailBody in an email. That is working fine.#
我看到屏幕上是值得的文件的信息頁面,例如這樣的:
Directory: \\directory\directory\directory\myfolder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 5/10/2011 10:00 PM 1986048 file.bak
誠然,我沒有RTFM並已基本攻擊我的方式,通過Powershell至此,所以請原諒我,如果答案是明顯的。
一些基本的問題:是一個函數?或只是你的腳本的一部分?你用'if($ file)'檢查什麼? – 2011-05-11 19:58:16
@empo,謝謝,我已經添加了其餘的代碼。我只是在測試$文件是否存在,我發現最好使用'test-path'命令執行 – 2011-05-11 20:48:15
@Ken Pespisa:你還好嗎還是仍然有麻煩? – 2011-05-11 20:57:09