簡體   English   中英

如何向 (gci -filter *.* -recurse).FullName 添加信息(即:LastWrite、修改者等)

[英]How to add information to (gci -filter *.* -recurse).FullName (ie:LastWrite, Modified By, Etc)

說到 Powershell,我絕對是菜鳥。

目前我運行一個簡單的腳本來獲取我們服務器上的文件列表。

(gci -filter *.xl* -recurse).FullName > AllExcel.txt

它准確地為我提供了我正在尋找的內容,一個目錄路徑和文件名都在所有子目錄的一行中。

X:\00\本文件1.xls
X:\00\本文件2.xls
X:\aaa\This file Too 1.xls
X:\aaa\This file Too 2.xls

我可以為每個項目添加上次修改文件的日期/時間嗎? {$_.LastWriteTime}?

如果是這樣,output 是否可以按此日期/時間排序? 如果可能的話,希望最新的在頂部。

還有選項可以讓誰最后修改文件嗎?

我會將結果存儲在結構化的 CSV 文件中,而不是簡單的文本文件。

Get-ChildItem -Path 'X:\' -Filter '*.xls*' -File -Recurse | 
Select-Object FullName, LastWriteTime |
Sort-Object LastWriteTime -Descending |
Export-Csv -Path 'X:\Somewhere\AllExcel.csv' -NoTypeInformation -UseCulture

這將生成一個結構化的 CSV 文件,您可以在具有與您在 Excel 中打開的區域設置相同的計算機上打開

至於誰最后修改了文件:
可以在每個文件上使用Get-Acl並獲得所有者,但擁有該文件的人不一定是創建/修改它的人。 除非事先啟用文件和文件夾審核,否則您無法識別在 Windows 中進行最后更改的創建者或用戶,因此您可以從審核日志中提取信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM