function transform( $String, $Position, [ref]$Step )
{
if( $Position -lt $String.Length )
{
$n = $Position + 1
if( [Char]::IsLetter( $String[$Position] ) )
{
$String = $String.Remove( $Position, 1 ).Insert( $Position, [Char]::ToLower( $String[$Position] ) )
transform -String $String -Position $n -Step $Step
$String = $String.Remove( $Position, 1 ).Insert( $Position, [Char]::ToUpper( $String[$Position] ) )
$Step.Value = $Step.Value + 1
Write-Output ("{0} {1}" -f ($Step.Value),$String)
transform -String $String -Position $n -Step $Step
}
else
{
transform -String $String -Position $n -Step $Step
}
}
}
$step = [int]1
$word = (Read-Host "Wort eingeben").ToLower()
Write-Output "$step $word"
transform -String $word -Position 0 -Step ([ref]$step)