在 PowerShell 中查找最新修改的文件信息
Posted
技术标签:
【中文标题】在 PowerShell 中查找最新修改的文件信息【英文标题】:Find latest modified file information in PowerShell 【发布时间】:2014-07-24 13:15:38 【问题描述】:我运行这段代码:
Get-ChildItem 'C:\Test Folder' | Where $_.LastWriteTime | select -last 1
我会返回上次修改文件的模式、LastWriteTime、长度和名称 - 太好了!
我也在尝试获取文件所有者的用户名。
我已添加此代码:
| ForEach-Object Get-Acl $_.FullName
返回文件的Path、Owner、Access。
如何将 LastWriteTime 和 Owner 显示为输出中显示的唯一对象?
【问题讨论】:
【参考方案1】:你确定你要做的不是下面的吗?
Get-ChildItem 'C:\Test Folder' | Sort $_.LastWriteTime | select -last 1
你可以试试这个:
$c = Get-ChildItem 'C:\Test Folder' | Sort $_.LastWriteTime | select -last 1 | foreach $a=$_;$b=Get-Acl $_.FullName; Add-Member -InputObject $b -Name "LastWriteTime" -MemberType NoteProperty -Value $a.LastWriteTime;$b
$c.LastWriteTime
【讨论】:
【参考方案2】:因此,选择将允许您只获取您感兴趣的属性。
所以有几件事要做:
-
找出可以选择的属性
Get-ChildItem | Get-Member -membertype properties
一旦您知道属性,只需将其添加到原始语句中的选择
Get-ChildItem'c:\test folder' | where $_.lastwritetime | select -last 1 | `
foreach write-host $_.lastwritetime ((get-ACL).owner)
最后,不要害怕Get-Help 命令。
【讨论】:
以上是关于在 PowerShell 中查找最新修改的文件信息的主要内容,如果未能解决你的问题,请参考以下文章