Roo*_*oop 7 windows powershell powershell-2.0 powershell-3.0
如何更改powershell输出的格式?
我正在运行这个:
cgi -Recurse K:\AppData\*.* -Filter *.model | ? {$_.LastWriteTime -gt (Get-Date).AddDays(-6)} | sort LastWriteTime -descending >> C:\AAA\result.txt
Run Code Online (Sandbox Code Playgroud)
我得到的结果是这种格式:
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
Run Code Online (Sandbox Code Playgroud)
如何将输出格式更改为:
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\
Run Code Online (Sandbox Code Playgroud)
我知道通常的答案是,不要使用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
Run Code Online (Sandbox Code Playgroud)
我唯一可以看到的缺点是目录名称的结尾是否太长,您可能需要尝试在format-table cmdlet的末尾添加-Wrap
或-AutoSize
。
如果这些方法都不能解决宽度问题(假设您甚至还有一个),我就会找到一个(页面)[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
Run Code Online (Sandbox Code Playgroud)
Select-Object
您可以使用(选择)对属性重新排序:
gci -Recurse K:\AppData\*.* -Filter *.model |
? {$_.LastWriteTime -gt (Get-Date).AddDays(-6)} |
sort LastWriteTime -descending |
Select LastWriteTime,Name,Directory
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23650 次 |
最近记录: |