Powershell:记录我删除的文件

Powershell:记录我删除的文件,powershell,Powershell,刚加入powershell,需要一些帮助。“我的脚本”搜索测试文件夹和子文件夹,然后删除超过21天的文件。我想在日志文件中记录所有已删除的文件 cls $Now = Get-Date $Days = "21" $Targetfolder = "c:\TEST" #----- define LastWriteTime parameter based on $Days ---# $LastWrite = $Now.AddDays(-$Days) #----- get files base

刚加入powershell,需要一些帮助。“我的脚本”搜索测试文件夹和子文件夹,然后删除超过21天的文件。我想在日志文件中记录所有已删除的文件

cls 
$Now = Get-Date 
$Days = "21" 
$Targetfolder = "c:\TEST" 
#----- define LastWriteTime parameter based on $Days ---# 
$LastWrite = $Now.AddDays(-$Days) 
#----- get files based on lastwrite filter and specified folder ---# 
$Files = Get-Childitem $TargetFolder -Include $Extension -Exclude *.xml -Recurse | where { $_.LastWriteTime -le "$LastWrite" } 
foreach ($File in $Files) { 
    if ($File -ne $Null) { 
        write-host "Deleting File --> $File" -ForegroundColor "Green" 
        Remove-Item $File.FullName | out-null 
    }
}

添加内容$filename$value
就可以了

cls 
$Now = Get-Date 
$Days = "21" 
$Targetfolder = "c:\TEST" 
$LogFile = "C:\DeletedFiles.txt"
#----- define LastWriteTime parameter based on $Days ---# 
$LastWrite = $Now.AddDays(-$Days) 
#----- get files based on lastwrite filter and specified folder ---# 
$Files = Get-Childitem $TargetFolder -Include $Extension -Exclude *.xml -Recurse | 
        where {$_.LastWriteTime -le "$LastWrite"} 
        foreach ($File in $Files) { 
            if ($File -ne $Null) { 
                Add-Content $LogFile $File.FullName
                write-host "Deleting File --> $File" -ForegroundColor "Green" Remove-Item $File.FullName | out-null 
            } 
        } 
如果您想使其更加健壮,可以向文件添加时间戳,以便知道文件何时被删除

$myDate = get-date -format -g
$content = $myDate  + "   " + $File.FullName
Add-Content $LogFile $content

将输出写入日志文件的最简单方法是使用-Verbose,然后在命令后使用write Verbose或4>

Remove-Item $File.FullName -Verbose 4> $log_file_path

欢迎来到StackOverflow!请将您的代码示例发布到您的问题中,而不是发表评论。“那样的话,追踪它就容易多了。”克里斯迈克尔很高兴听到这个消息。如果这个答案解决了你的问题,请投票并标记完成。