我正在运行以下命令,我想将输出对齐到左边......只是无法弄明白:
基本上,这为我提供了特定目录的大小,并且它是右对齐的。
Get-ChildItem c:\users\xxx\desktop -recurse | Measure-Object -property length -sum|Select-object @{Name="Total size GB "; Expression={$_.Sum / 1GB}} >> c:\users\xxx\desktop\pwr\bkp.txt
答案 0 :(得分:5)
将Select-Object替换为Format-Table,如下所示:
Format-Table -Property @{ Name="Size in GB"; Expression={$_.Sum / 1GB }; Alignment="left"; }
答案 1 :(得分:4)
快速&脏 - 将其格式化为表格,自动调整大小:
Get-ChildItem c:\users\xxx\desktop -recurse |
Measure-Object -property length -sum|
format-table -autosize @{Name="Total size GB "; Expression={$_.Sum / 1GB}} >> c:\users\xxx\desktop\pwr\bkp.txt
但我更喜欢使用out-file
而不是重定向:
Get-ChildItem c:\users\xxx\desktop -recurse |
Measure-Object -property length -sum|
format-table @{Name="Total size GB "; Expression={$_.Sum / 1GB}} -autosize |
| out-file -append -path c:\users\xxx\desktop\pwr\bkp.txt
答案 2 :(得分:0)
今天花了我一些时间...在发布问题之后,找到了一个能为我完成工作的答案。 我用ft替换了select-object,并将其与左对齐,如预期的那样。
之前:
Get-ChildItem c:\ users \ xxx \ desktop -recurse | Measure-Object -property length -sum | Select-object @ {Name =“Total size GB”;表达式= {$ _。总和/ 1GB}}>> C:\用户\ XXX \桌面\ PWR \ bkp.txt
后: Get-ChildItem c:\ users \ xxx \ desktop -recurse | Measure-Object -property length -sum | ft @ {Name =“Total size GB”;表达式= {$ _。总和/ 1GB};对齐=左}>> C:\用户\ XXX \桌面\ PWR \ bkp.txt
答案 3 :(得分:0)
format-table是一个非常特殊的命令。一旦使用format-table命令,就不应该使用任何其他命令。如果select的任何输出对象为空,那么输出文件将不会显示。格式表是您在脚本中执行的最后一项操作。你会得到,,,,,,
将get-member放在最后,看看你要去做什么 - 是属性还是对象。它将是关于格式数据,而不是实际数据。
而是使用带格式表的out-file或out-host