首先我试图找到其他问题,这些问题似乎都与替换而不是扩展有关。
所以我必须首先明确我所说的“扩展”是什么意思。
> $TEST="Foo Bar"
> echo foo bar
foo
bar
> echo $TEST
Foo Bar
当传递两个参数时,powershell 的 echo 实现会将每个参数打印在自己的行上。
如果我回显带有两个参数的变量,它会作为单个参数传递。我希望将变量扩展为它包含的多个参数,从第一个实例中获取行为。
我看过:
这在 powershell 中可行吗?
上下文更新:
不幸的是,我不是设置变量的人,这来自 gitlab 环境变量。
答案 0 :(得分:1)
听起来您想要 "%SystemRoot%\System32\xcopy.exe" ^
"%SourceLocation%\!subdirectory[%%G]!" ^
"%BackupLocation%\!subdirectory[%%G]!\" /E /I /Y
splat operator:
@
这将具有与 $test = "foo","bar"
echo @test
完全相同的效果