为什么控制台中的代码输出是最大代码的两倍(最小正常代码是相同的代码)?

时间:2019-05-21 14:37:18

标签: powershell max min

以下代码的执行会给它涉及最大的那部分带来两倍的结果,但对于打算产生最小值的那部分只会给它一次;唯一的不同是将-le更改为-ge,以便从最小代码转换为最大代码。这是代码;

$SS1=(ls $home\Documents\Doo).creationtime.Ticks
foreach($x in $SS1){$SS1=$SS1|where-object{$_ -ge $x}};$SS1
$SS=(ls $home\Documents\Doo).creationtime.Ticks
foreach($x in $SS){$SS=$SS|where-object{$_ -le $x}};$SS

这是输出;

636940445900142078
636940445900142078
636940445887555535

1 个答案:

答案 0 :(得分:2)

您可以使用Sort-ObjectSelect-Object来达到所需的效果。

$SS1=(ls $home\Documents\Doo).creationtime.Ticks
$min,$max = $SS1 | Sort-Object | Select-Object -First 1 -Last 1

$min现在将保留最低的刻度值。 $max现在将保持最高的滴答声值。