首页 > 解决方案 > 旋转变量中的文本行

问题描述

我有一个带有序列号行的字符串变量,我需要旋转变量中的序列号,然后将其输出到屏幕上。基本上将第一个序列移动到最后并从头删除它。我能够将第一个序列移动到变量的末尾,但无法弄清楚如何从开头删除它。

例子

$serials = "6546544`n6542185`n6546848`n6654898`n6522828"
#append first serial number to the end
$serials +="`n$($serials.split()[0])" 
#remove the first serial from beginning.????

最终结果应该是:

"6542185`n6546848`n6654898`n6522828`n6546544"

标签: stringpowershellvariablesrotation

解决方案


从我的评论中扩展这个想法(不需要拆分)。

例子:

Clear-Host
Write-Verbose -Message "Current array" -Verbose
($serials = '6546544','6542185', '6546848', '6654898', '6522828')
"`n"
#append first serial number to the end
Write-Verbose -Message "Modified array" -Verbose
($serials += $($serials[0]))
"`n"
Write-Verbose -Message "Final array" -Verbose
($serials = ($serials | Select -Skip 1))
# Results
<#
VERBOSE: Current array
6546544
6542185
6546848
6654898
6522828


VERBOSE: Modified array
6546544
6542185
6546848
6654898
6522828
6546544


VERBOSE: Final array
6542185
6546848
6654898
6522828
6546544
#>

..然后以您希望的任何方式加入。


推荐阅读