需要使用Powershell列出目录中的所有新文件

我必须在.csv格式的目录中创建所有最新文件或已访问文件的列表。但是我当前的脚本没有输出有用的文件。 (始终为0KB)

Get-ChildItem -Path X:\ -Directory -Recurse -Erroraction SilentlyContinue | 
ForEach-Object { Get-ChildItem $_.Name -Recurse | 
select Name,*time | 
Sort-Object -Property LastaccessTime -Descending | 
Select-Object -First 1 } |
Export-Csv -Path C:\...\testfile.csv

有人有更好的主意吗?

编辑:错误看起来像这样:

+ CategoryInfo          : ReadError: (X:\xxx:String) [Get-ChildItem],DirectoryNotFoundException
    + FullyQualifiedErrorId : DirIOError,microsoft.PowerShell.Commands.getchildItemCommand
iCMS 回答:需要使用Powershell列出目录中的所有新文件

如果您没有在运行之前cdX:\,那么该代码可能会产生一些错误。您可以通过以下方式进行补救:

# this
Get-ChildItem $_.Name -Recurse
# to this
Get-ChildItem $_.FullName -Recurse

然后,它总是使用绝对路径而不是相对路径。


注意:正如@mklement0在评论中指出的那样,值得注意的是,在PowerShell 6及更高版本中,可以直接使用对象来实现相同的目的(无需使用{{ 1}}属性)。

下面是他的helpful answer对其进行了详细说明-真的值得一读!

本文链接:https://www.f2er.com/2052371.html

大家都在问