在PowerShell输出中使用多个格式化选项

时间:2013-05-28 16:39:33

标签: powershell-v3.0

我正在尝试格式化一些输出,并希望控制项目的宽度和日期格式。

foreach ($Item in ($dirs))   
{  
    # do some stuff here  
    "{0,-8} {1:d} {2,-16} {3, -32}" -f $Item.Mode, $Item.CreationTime, $Item.length, $Item.name
}   

除了DateTime的显示方式外,还有办法设置第二列的宽度吗? 谢谢你的任何提示......

1 个答案:

答案 0 :(得分:0)

您想如何定义宽度?您可能希望使用格式字符串格式化日期的各个部分。请参阅http://msdn.microsoft.com/en-us/library/txafckwd.aspx上找到的日期和时间类型类别的格式字符串链接。

$date=Get-Date 
# 12-hour format (use lower case hh)
"{0:hh.mm.ss tt} " -f $date
# 24 hour time format (use upper case HH)
"{0:HH:mm:ss}" -f $date
# Date in "month year" format
"{0:MMMM yyyy}" -f $date

或者您可以使用{index [,alignment] [:formatString]}中的对齐来捕获字符串和格式。

$a = "{0:d}" -f $Item.CreationTime
"****{0,-10}****" -f $a