PowerShell查找最新修改的文​​件信息

时间:2014-06-04 02:40:52

标签: powershell-v3.0 last-modified

我是PowerShell的新手,所以对我很轻松:)

我运行此代码:

Get-ChildItem 'C:\Test Folder' | Where {$_.LastWriteTime} | select -last 1

我回到上次修改过的文件的模式,LastWriteTime,长度和名称 - 太棒了!

我在这里尝试做的是获取文件所有者的用户名。

我已添加此代码:

| ForEach-Object {Get-Acl $_.FullName}

返回文件的路径,所有者,访问权限

如何将 LastWriteTime和所有者显示为输出中显示的唯一对象?

2 个答案:

答案 0 :(得分:9)

你确定你要做的不是:

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

答案 1 :(得分:0)

因此,选择将允许您获得您感兴趣的属性

所以要做的一些事情

  1. 找出可以从中选择的属性 Get-ChildItem | Get-Member -membertype属性
  2. 一旦您知道属性,只需添加到原始语句中的选择 Get-ChildItem'c:\ test folder'|其中{$ .lastwritetime} |选择-last 1 | foreach {write-host $ .lastwritetime((get-ACL).owner)}
  3. 最后不要害怕get-help命令