【发布时间】:2015-04-24 10:45:14
【问题描述】:
我有以下大部分有效的 PowerShell 2.0 代码。
#$UserProfilePath is the path to recursively search
$MailBody = $MailBody + "`r`n`r`n Potential Valuable Files located in $NLEFriendlyName's profile include:`r`n`r`n"
$FileList = get-childitem -path $UserProfilePath -Recurse
ForEach ($File in $FileList) {
if ($File.Extension -eq ".doc") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".docx") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".xls") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".xlsx") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".ppt") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".pptx") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".pdf") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".txt") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
}
$MailBody = $MailBody + $UsefulFiles
它主要完成我所期望的工作,即生成在用户配置文件目录中找到的文件列表。
问题是回车符(`r`n) 并不总是得到尊重。我的 $MailBody 变量最终看起来像下面的 sn-p,它开始很好,但停止了。
20150114-Error.txt
Server List.txt
Server Port Breakdown.xlsx
ds_time.txt
Business Continuity - Call Center Services 2009a (2) (4)-old.pdf Business Continuity - Call Center Services 2009a (2) ....pdf New Text Document.txt Office2013Rearm.txt UserList.txt StopScreensaver.txt Testing Doc 201501081355.txt Antivirus KB.docx Antivirus-Deployment.txt
This posting 多少暗示了一种可能性,但我不确定如何将其翻译成我的脚本:
我确信还有一种更优化的方式来列出所有文件扩展名。
【问题讨论】:
标签: powershell file-type