Powershell - 数组全部在一行上

Sam*_*.92 6 powershell

我是 Powershell 新手,所以了解不多。

我有一个菜单,有 2 个选项(“添加 IP”和“列出 IP”)

“添加IP”代码是:

$UIP = Read-Host "Enter IP to whitelist"
$whitelist += $UIP
Run Code Online (Sandbox Code Playgroud)

“列表IP”代码是:

Write-Host "==== $Title Whitelist IPs ===="
Write-Host
Write-Host $whitelist
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,当我列出数组时,它会在同一行上列出所有内容,如下所示:

192.168.0.1192.168.0.2
Run Code Online (Sandbox Code Playgroud)

当我想像这样显示时:

192.168.0.1
192.168.0.2
Run Code Online (Sandbox Code Playgroud)

小智 8

如果您不想在每个 IP 上执行任何操作,则不必使用循环来执行此操作。

只需使用

Write-Host ($whitelist -join "`n")
Run Code Online (Sandbox Code Playgroud)

这将在数​​组中的每个元素之间插入一个新行。我比较了以下差异:

$array = @('foo','bar')
write-host ($array -join "`n") 

Output:
foo
bar
Run Code Online (Sandbox Code Playgroud)

相对

$array = @('foo','bar')
write-host $array

Output:
foo bar
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。


小智 -1

您可以使用 for 循环来实现此目的

for ($loopindex = 0; $loopindex -lt $whitelist.Count; $loopindex ++) { $whitelist[$loopindex] }