无法在屏幕上显示两个不同的调用
Can't display two different calls to the screen right after each other
如果我运行同时执行以下两个命令,则只显示第一个。如果我 运行 他们分别那么我得到两个结果。我错过了什么?
Get-WmiObject win32_volume -Computername "Your Server Name" | select driveletter, BlockSize, FreeSpace
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | Get-ItemProperty -name Version,Release -EA 0 | Where { $_.PSChildName -match '^(?!S)\p{L}' -and $_.Version -gt 3.5 -and $_.Version -lt 3.6} | Select PSChildName, Version, Release;
我以前见过这个。您混淆了 PowerShell 的输出 table 显示。据我所知,这是 Select-Object
的错误。这是一些示例代码:
"" | Select-Object -Property @{n="1";e={1}};
"" | Select-Object -Property @{n="2";e={2}};
"" | Select-Object -Property @{n="1";e={11}},@{n="2";e={22}};
哪些输出(压缩空格):
1
-
1
11
虽然这段代码:
"" | Select-Object -Property @{n="1";e={11}},@{n="2";e={22}};
"" | Select-Object -Property @{n="1";e={1}};
"" | Select-Object -Property @{n="2";e={2}};
输出这个(压缩空格):
1 2
- -
11 22
1
2
注意到它是一体的 table?就好像第一个Select-Object
决定了table的headers,其他的都得依此类推。我不知道为什么会这样,或者它是否已在 PowerShell v5.0 中修复。
简单的解决方法是通过管道传输到 Format-Table
:
"" | Select-Object -Property @{n="1";e={1}} | Format-Table -AutoSize;
"" | Select-Object -Property @{n="2";e={2}} | Format-Table -AutoSize;
"" | Select-Object -Property @{n="1";e={11}},@{n="2";e={22}} | Format-Table -AutoSize;
哪个正确输出:
1
-
1
2
-
2
1 2
- -
11 22
如果我运行同时执行以下两个命令,则只显示第一个。如果我 运行 他们分别那么我得到两个结果。我错过了什么?
Get-WmiObject win32_volume -Computername "Your Server Name" | select driveletter, BlockSize, FreeSpace
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | Get-ItemProperty -name Version,Release -EA 0 | Where { $_.PSChildName -match '^(?!S)\p{L}' -and $_.Version -gt 3.5 -and $_.Version -lt 3.6} | Select PSChildName, Version, Release;
我以前见过这个。您混淆了 PowerShell 的输出 table 显示。据我所知,这是 Select-Object
的错误。这是一些示例代码:
"" | Select-Object -Property @{n="1";e={1}};
"" | Select-Object -Property @{n="2";e={2}};
"" | Select-Object -Property @{n="1";e={11}},@{n="2";e={22}};
哪些输出(压缩空格):
1
-
1
11
虽然这段代码:
"" | Select-Object -Property @{n="1";e={11}},@{n="2";e={22}};
"" | Select-Object -Property @{n="1";e={1}};
"" | Select-Object -Property @{n="2";e={2}};
输出这个(压缩空格):
1 2
- -
11 22
1
2
注意到它是一体的 table?就好像第一个Select-Object
决定了table的headers,其他的都得依此类推。我不知道为什么会这样,或者它是否已在 PowerShell v5.0 中修复。
简单的解决方法是通过管道传输到 Format-Table
:
"" | Select-Object -Property @{n="1";e={1}} | Format-Table -AutoSize;
"" | Select-Object -Property @{n="2";e={2}} | Format-Table -AutoSize;
"" | Select-Object -Property @{n="1";e={11}},@{n="2";e={22}} | Format-Table -AutoSize;
哪个正确输出:
1
-
1
2
-
2
1 2
- -
11 22