Ich schreibe ein Powershell-Skript, das eine Exe mit den Eingabeparametern aufruft. Dies ist mein Code:Verketten von Variablen zur Übergabe an exe in Powershell
param([string]$sourceIP, [string]$destinationIP, [string]$prefix)
$ErrorActionPreference = "Stop"
try
{
Write-Host "Starting Copy of Keyspaces to Dev"
Write-Host "Copying One"
.\CopyDatabase.exe -s $sourceIP -o $($prefix)_one -d $destinationIP -n $($prefix)_one -c
Start-Sleep -s 2
Write-Host "Copying Two"
.\CopyDatabase.exe -s $sourceIP -o $($prefix)_two -d $destinationIP -n $($prefix)_two -c
Start-Sleep -s 2
Write-Host "Copying Three"
.\CopyDatabase.exe -s $sourceIP -o $($prefix)_three -d $destinationIP -n $($prefix)_three -c
Start-Sleep -s 2
Write-Host "Copying Four"
.\CopyDatabase.exe -s $sourceIP -o $($prefix)_four -d $destinationIP -n $($prefix)_four -c
Write-Host "Finished Backup"
}
catch
{
write-host "EXCEPTION:"
write-host "Exception Type: $($_.Exception.GetType().FullName)"
write-host "Exception Message: $($_.Exception.Message)"
exit -1
}
Es funktioniert, wie ich erwarten, mit der Ausnahme, dass $($prefix)_keyspace
gibt mir prefix _keyspace
wo ich prefix_keyspace
wollen. Ich bin mir sicher, dass ich für jede Verkettung eine Funktion schreiben oder eine neue Variable erstellen kann, aber ich frage mich, ob es einen Befehl gibt, den ich dafür verwenden kann, der mich davor bewahren wird, das zu tun. Vielen Dank!
'$ {Präfix} _ein' – PetSerAl
@PetSerAl Perfekt, danke –