PowerShell 列表文件按日期排序
使用 PowerShell 中的 Get-ChildItem 或 ls 命令从目录中获取文件列表,并按创建时间或最后写入时间等文件属性对它们进行排序。它将在 PowerShell 中按日期升序或降序列出文件。
该文件具有诸如creationtime 和lastwritetime 之类的属性,用于指定文件创建时间和上次修改时间。使用这些属性,我们可以列出文件并按日期时间对它们进行排序。
在本文中,我们将讨论如何按日期排序,以及如何根据文件的上次更新时间对文件进行排序。
PowerShell ls 按日期排序
Unix命令ls可以在PowerShell中使用来获取文件系统中的文件和目录列表及其信息。
要列出按日期排序的文件,请使用以下 PowerShell 脚本。
ls | sort LastWriteTime -Descending | Select -First 5在上面的 PowerShell 脚本中,ls 命令获取当前目录中的文件列表,并将输出通过管道传输到 sort 命令。 sort 命令使用文件属性 LastWriteTime 根据文件的上次更新时间和降序属性对文件进行排序。
选择命令使用 First 参数按修改日期顺序显示前 5 个旧文件。
上述 PowerShell ls sort by date 的输出是:
酷提示:如何使用 PowerShell 获取目录中最后修改的文件!
PowerShell 使用 Get-ChildItem 按日期时间列出文件
PowerShell 中的 Get-ChildItem cmdlet 获取目录中的项目及其信息。要获取文件列表并按日期和时间对它们进行排序,请使用以下脚本。
Get-ChildItem -Path D:\PS\ -File | Where-Object {$_.CreationTime} | Sort-Object CreationTime -Descending| Select-Object -First 5 | Select Length, Name, LastWriteTime,CreationTime 在上面的 PowerShell 脚本中,Get-ChildItem 从指定路径获取文件列表,并将输出通过管道传输到Where-Object 命令。
where-Object 命令使用文件属性 CreationTime 并将输出通过管道传输到 Sort-Object。 Sort-Object 命令使用 CreationTime 按创建时间对文件进行排序。
上面的 PowerShell 脚本按创建时间顺序列出了前 5 个文件。
上述 PowerShell 按创建时间按目录顺序获取文件的输出为:
PS D:\PS> Get-ChildItem -Path D:\PS\ -File | Where-Object {$_.CreationTime} | Sort-Object CreationTime -Descending | Select-Object -First 10 | Select Length, Name, LastWriteTime,CreationTime
Length Name LastWriteTime CreationTime
------ ---- ------------- ------------
23001 powershell-ls-files-sort-by-date.png 22-01-2023 09:40:58 22-01-2023 09...
38040 powershell-ls-sort-by-date.png 22-01-2023 09:28:44 22-01-2023 09...
9703 convert-timestamp-to-datetime-in-powershell.png 21-01-2023 21:17:36 21-01-2023 21...
22002 powershell-compare-file-modified-date-to-specific-date.png 21-01-2023 20:17:43 21-01-2023 20...
21729 powershell-compare-file-creation-date.png 21-01-2023 20:42:23 21-01-2023 20...
11529 powershell-compare-datetime-objects.png 21-01-2023 18:27:30 21-01-2023 18...
14098 powershell-compare-dates.png 21-01-2023 18:21:16 21-01-2023 18...
13091 powershell-get-date-minus-one-day.png 21-01-2023 17:18:12 21-01-2023 17...
720 employee.txt 21-01-2023 11:24:24 21-01-2023 11...
10936 get-windows-os-version.png 04-09-2022 22:00:55 04-09-2022 22...
PS D:\PS> 使用 dir 按日期对文件进行排序
在 PowerShell 中,您可以使用 dir 命令获取文件列表及其信息。要对文件进行排序并按上次写入时间获取最新文件名,请使用以下脚本。
dir -File | sort LastWriteTime -Descending | Select -First 5在上面的 PowerShell 脚本中,dir 使用 File 参数从当前目录获取文件列表,并将输出通过管道传输到排序命令。
sort 命令使用文件的 lastwritetime 属性对文件进行降序排序。
上述按降序查找旧文件的 PowerShell 脚本的输出是:
PS D:\PS> dir -File | sort LastWriteTime -Descending | Select -First 5
Directory: D:\PS
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 22-01-2023 09:40 23001 powershell-ls-files-sort-by-date.png
-a---- 22-01-2023 09:28 38040 powershell-ls-sort-by-date.png
-a---- 21-01-2023 21:17 9703 convert-timestamp-to-datetime-in-powershell.png
-a---- 21-01-2023 20:42 21729 powershell-compare-file-creation-date.png
-a---- 21-01-2023 20:17 22002 powershell-compare-file-modified-date-to-specific-date.png酷提示:如何在 PowerShell 中列出目录中的文件!
结论
希望上面关于如何列出按日期和时间排序的文件的文章对您有所帮助。
您可以使用Get-ChildItem、ls 或dir 命令获取文件列表,并使用Sort 命令按升序或降序对文件进行排序。
您可以使用带有 -Hidden 参数的 ls 命令来查看 PowerShell 中的隐藏文件。
您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

