在Powershell中,你有一些数字的魔术后缀。也就是说,您可以使用MB
,GB
,TB
等任意数字作为前缀,并且它们将返回以字节为单位的数量。
实施例
PS C:\> 1TB
1099511627776
PS C:\> 123KB
125952
这个黑魔法究竟是什么?它们显示为INT
;
PS C:\> (123GB).getType() | ft -AutoSize
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int64 System.ValueType
使用与普通INT相同的基本类型
PS C:\> ([int]123).getType() | ft -AutoSize
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType
所以问题仍然存在;
答案 0 :(得分:5)
这些“事物”究竟是什么?
它们被称为“行政常数”。
如何创建自己的
我不相信你能。
我在哪里/如何获得我可以使用的其他魔术前缀列表?
你拥有从Kilobyte到Petabyte的所有东西(KB,MB,GB,TB,PB)。
他们会不会是正确的?
它们将永远是2 ^ n版本 - 我不认为这是不正确的......
是的,PowerShell团队意识到这些符号与IEC建议(kibabyte等)不一致。由于这种符号的意思是方便,并且IT空间中的大多数人对Kb比对Ki更舒服,因此在这种情况下我们选择在舒适性方面犯错误。抱歉。这个特殊问题很容易引发关于PowerShell内部和外部beta测试人员列表的第二次激烈辩论。 ~Bruce Payette,Powershell in Action
您可以使用1e3
,1e6
等来获得“标准”Kilo,Mega等。
$> 12345 / 1e3
12.345