[英]Powershell Get-ChildItem - Missing header on subsequent calls to same path
[英]Powershell get-childitem output formatting
如何更改powershell輸出的格式?
我正在運行這個:
cgi -Recurse K:\AppData\*.* -Filter *.model | ? {$_.LastWriteTime -gt (Get-Date).AddDays(-6)} | sort LastWriteTime -descending >> C:\AAA\result.txt
我得到的結果是這種格式:
Directory: K:\AppData\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 13/02/2014 11:29 AM 7269129 20-300_3001_REV02_ECR4431.CATPart
-a--- 13/02/2014 11:29 AM 7269129 20-300_3001_REV02_ECR4431.CATPart
-a--- 13/02/2014 11:29 AM 7269129 20-300_3001_REV02_ECR4431.CATPart
如何將輸出格式更改為:
LastWriteTime Name Directory
------------- ---- -----
13/02/2014 11:29 AM 20-300_3001_REV02_ECR4431.CATPart K:\AppData\
13/02/2014 11:29 AM 20-300_3001_REV02_ECR4431.CATPart K:\AppData\
13/02/2014 11:29 AM 20-300_3001_REV02_ECR4431.CATPart K:\AppData\
我知道通常的答案是,不要使用format- * cmdlet,因為輸出實際上不能被其他cmdlet使用,但由於這是一個格式化問題,如下所示:
get-childitem -Recurse K:\AppData\*.* -Filter *.model | ? {$_.LastWriteTime -gt (Get-Date).AddDays(-6)} | sort LastWriteTime -descending | format-table LastWriteTime, Name, Directory >> C:\AAA\result.txt
我能看到的唯一缺點是如果目錄名最終太長,您可能需要嘗試將-Wrap
或-AutoSize
添加到format-table cmdlet的末尾。
如果這些都沒有解決寬度問題(假設你甚至有一個),我找到了一個(頁面)[http://poshoholic.com/2010/11/11/powershell-quick-tip-creating-wide-tables-with -powershell /]關於創建真正寬的表,所以你可能會得到類似的東西:
get-childitem -Recurse K:\AppData\*.* -Filter *.model | ? {$_.LastWriteTime -gt (Get-Date).AddDays(-6)} | sort LastWriteTime -descending | format-table LastWriteTime, Name, Directory -AutoSize | Out-String -Width 1024 >> C:\AAA\result.txt
您可以使用Select-Object
(select)重新排序屬性:
gci -Recurse K:\AppData\*.* -Filter *.model |
? {$_.LastWriteTime -gt (Get-Date).AddDays(-6)} |
sort LastWriteTime -descending |
Select LastWriteTime,Name,Directory
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.