[英]Using PowerShell to filter folders by date
我正在查看工作驅動器上的文件夾,這些文件夾中的文件已有20年以上的歷史了。 我們希望將這些文件從該驅動器上移開,以清理空間並更好地組織它。
我有一個PowerShell腳本可以瀏覽文件夾並輸出到csv文件。
它放入csv文件,但是這里有成千上萬個文件。 我們只想在該文件上修改最新的文件。 它給了我所有文件。
我能否僅從該文件夾輸出最新的修改文件,然后移至下一個文件夾?
Get-ChildItem -LiteralPath Y:\XYZ\MainFolder -Recurse -Depth 2 |Format-Table| Out-File C:\Users\USER\Desktop\aCSVfile.csv
您將需要PowerShell 5.x,否則, Get-ChildItem
的-Directory
開關將不可用:
Get-ChildItem -Path . -Directory -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date "2018-10-04") } | Export-Csv "test.csv" -NoTypeInformation -Delimiter ";"
Get-ChildItem -Path . -Directory -Recurse
Get-ChildItem -Path . -Directory -Recurse
獲取所有目錄 Where-Object { $_.LastWriteTime -lt (Get-Date "2018-10-04") }
-檢查上次寫入時間是否早於2018-10-04(您也可以使用LastAccessTime
) Export-Csv "test.csv" -NoTypeInformation -Delimiter ";"
-將過濾的對象導出到CSV文件。 如果您想在CSV文件中減少信息,可以使用Select-Object
:
Get-ChildItem -Path . -Directory -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date "2018-10-04") } |Select-Object Name, PSPath, Parent | Export-Csv "test.csv" -NoTypeInformation -Delimiter ";"
要獲取可用屬性,請使用Get-Member
:
Get-ChildItem -Path . -Directory -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date "2018-10-04") } | Get-Member
輸出:
TypeName: System.IO.DirectoryInfo
Name MemberType Definition
---- ---------- ----------
LinkType CodeProperty System.String LinkType{get=GetLinkType;}
Mode CodeProperty System.String Mode{get=Mode;}
...
FullName Property string FullName {get;}
LastAccessTime Property datetime LastAccessTime {get;set;}
LastAccessTimeUtc Property datetime LastAccessTimeUtc {get;set;}
LastWriteTime Property datetime LastWriteTime {get;set;}
LastWriteTimeUtc Property datetime LastWriteTimeUtc {get;set;}
Name Property string Name {get;}
...
Attributes Property System.IO.FileAttributes Attributes {get;set;}
CreationTime Property datetime CreationTime {get;set;}
CreationTimeUtc Property datetime CreationTimeUtc {get;set;}
...
在這里,您可以使用Select-Object
和Where-Object
的*Property
成員類型。
如果您使用的PowerShell少於5,則必須檢查PSIsContainer
屬性,如本stackoverflow 答案中所述 。
希望這是您正在尋找的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.