Powershell根据内容lastwritetime输出文件夹



我想创建一个powershell脚本,该脚本将在文件或任何文件上查看文件夹的内容,并输出文件夹和时间戳。使用在终端服务器环境中使用raoming配置文件来识别配置文件,但文件夹的最后写入时间是文件夹本身的,而每次用户登录其中的内容时都会被触摸并打上时间戳。

我尝试了以下

Get-ChildItem -Recurse | where-object {$_.lastwritetime -gt (get-date).addDays(-1)} |  Foreach-Object { $_.Directory } | sort-object name -descending | export-csv c:lists.csv

我已经尝试了几次迭代,这似乎对有效

get-childitem -recurse | where-object {$_.name -eq "Pending"} |
where-object {$_.lastwritetime -gt (get-date).addDays(-1)} | 
where-object {$_.PSIsContainer} |
foreach {$_.Parent} | foreach {$_.name}

现在唯一的问题是输出将"挂起"文件夹中的最后写入时间显示为

我不完全确定,如果我答对了你的问题,但我的小脚本显示了所有项目,它们在最后一天和更改时间+目录:

$directories = (Get-ChildItem -Path C:test -Directory).FullName
     $directories | foreach  {if (($_.lastwritetime -gt (get-date).adddays(-1)) -or ((get-childitem -path $_ -Recurse).lastwritetime -gt (get-date).adddays(-1))) {
         $itemname = (Get-ChildItem -Path $_ -Recurse | where {$_.LastWriteTime -gt (get-date).AddDays(-1)}).BaseName
         $itemtime = (Get-ChildItem -Path $_ -Recurse | where {$_.LastWriteTime -gt (get-date).AddDays(-1)}).LastWriteTime
         $_ >> C:timestamp.txt; $itemname >> C:timestamp.txt; $itemtime >> C:timestamp.txt;
                                                                                                                                                                  }
                             }

我从我的小脚本中得到了这个:

C:testDIR - Copy (2)
test (2)
test
test2 (2)
test2
Wednesday, 17. July 2013 17:49:43
Wednesday, 17. July 2013 17:49:43
Wednesday, 17. July 2013 17:49:43
Wednesday, 17. July 2013 17:49:43

我不知道你要检查多少文件,所以我不能说这是否会很快。

编辑:

$path = C:test
gci $PATH | sort LastWriteTime | select -last 1

给我看这个:

Directory: C:test

Mode                LastWriteTime     Length Name                                                                                                                                    
 ----                -------------     ------ ----                                                                                                                                    
 d----        18.07.2013     09:37            Neuer Ordner - Kopie (2)       
 $path = get-childitem | foreach {$_.name}
 $directory = $path | foreach {$_+"/"}
 get-childitem -path $directory | where-object {$_.name -eq "Pending"} |
 where-object {$_.lastwritetime -gt "12/30/2012"} | 
 where-object {$_.PSIsContainer} |
 foreach {$_.parent.name + "," + $_.lastwritetime} > 
 c:usersopr98232013users.csv

这为我做到了

最新更新