在PowerShell中,[byte []] $ bytes = 0..65535 |%{0}是什么意思?

时间:2017-11-09 03:13:40

标签: python format shellcode

我想在python中添加一些powershell代码,但是当我使用格式函数时,在powershell中遇到'%{0}'那么就不能编译python。所以我想知道它的意思改变我的代码

1 个答案:

答案 0 :(得分:0)

双点..是范围构造函数。 0..65535将返回0到65535之间的整数数组。管道|%后面的百分号是管道后foreach-object的简写。

在这种情况下,你的powershell函数

[byte[]]$bytes = 0..65535|%{0}

创建一个名为bytes的类型为byte的数组,其值为65536个零。

如果您尝试使用字符串format函数从Python调用此函数,那么您将需要通过将它们加倍来转义大括号。例如,如果您想使用Python来调整变量名,您可以使用:

# in Python:
powershell_cmd = '[byte[]]${} = 0..65535|%{{0}}'.format('bytes')