2013-05-15 49 views
2

警告:我的无知 - 道歉PowerShell的:记录文件移动到日志文件,通过写日志

我想写信给有功能的日志文件:“写日志” 例如

Write-Log -Message "moved file abcd.efd" -Path C:\MyLog.log 

(从http://poshcode.org/2566被盗)

我成功登录写作,从归档脚本,与写日志功能,这是我通过添加。包括。

我想通过写日志记录到我的日志文件中,哪些文件已存档。

当前档案细节:

Get-ChildItem -Path $SourceDir | 
Where-Object {$_.LastWriteTime.Date -lt (get-date).AddDays(-$Age) -and -not $_.PSIsContainer} | 
Move-Item -Destination $MoveDir 

我如何可以插入我写日志,记录那些我已经归档的文件?

感谢

回答

3

您可以呼叫转移,项目和给ForEach对象cmdlet中写日志中的每个FileInfo对象从GET-ChildItem返回。 例如:

Get-ChildItem -Path $SourceDir | ` 
Where-Object {$_.LastWriteTime.Date -lt (get-date).AddDays(-$Age) -and -not $_.PSIsContainer} | ` 
ForEach-Object { 
$fileInfo = $_ 
Move-Item -Path $fileInfo -Destination $MoveDir -WhatIf 
# Log your message 
Write-Log -Message "moved file $fileInfo" -Path C:\MyLog.log 
} 
+0

thnx,适合我。 FYI/FWIW 1)$ fileInfo.fullname 2)我确信我看到了类似的答案,并且随后的帖子反驳了管道末端的foreach - 我的头脑,它的工作原理和文件数量我'米移不认为我在寻求提高性能......'agin焦油。 – EndUzr