在同一行上写入主机两个变量,而不会弄乱格式?

时间:2019-03-29 00:16:00

标签: powershell

我正在尝试编写代码以获取write-host文件并将数据输出到格式化的屏幕上。我首先将所有名称设置为变量和等级。现在,我需要在同一行上输出它们,以便它们对齐,但是当我[string] $names = "{0,-10}" -f "$Name" [string] $grades = "{0,31:f2}{1,15:f2}{2,15:f2}{3,15:f2}{4,15:f2}{5,16:f2}{6,12:f2}{7,20:f2}" -f "$Assgn1","$Assgn2","$Assgn3","$Assgn4","$Midterm","$Final","$finalgrade","$lettergrade" #Here I output the data write-host "$names","$grades" Jamie Zawinski 78.8 81.0 77.3 80.0 80.0 77.0 79 C Adam Douglas 86.2 69.0 77.8 81.0 87.5 88.0 81.67 B 第一组名称时,它弄乱了我所有数字的格式。我怎样才能使它们排成一列?

我尝试在单独的行上运行代码,以使列变直,但是数字在名称下方一行。

{{1}}

我希望成绩排成一条直线,而名称长度不会影响每行。

1 个答案:

答案 0 :(得分:0)

您可以只对每个数据项使用多个Write-Host语句来格式化输出,而不是在Variable中使用格式化吗?通过使用 -NoNewline 开关并包含标签,您可以获得所需的输出。

当然,这必须包含在循环中以处理列表中的每个用户:

task_

这将在每一项和所有项目之间用TABS格式化输出。请记住,不要在最后一项中包含“ -NoNewline ”。