PowerShell 脚本 SCP 命令

PowerShell Script SCP command

我有以下脚本,

$servers = "server1","server2"
ForEach($Server In $servers){
    scp.exe -r 'username@'+$Server+':/home/copylogs/logs' .\logs_prod'
}

但是服务器变量没有按方面工作,有什么想法吗?

谢谢!

为了将 表达式 作为参数传递 - 在您的情况下使用 + 的字符串连接操作 - 您必须将其包含在 (...)

scp.exe -r ('username@'+$Server+':/home/copylogs/logs') .\logs_prod

或者,您可以使用 expandable string(字符串插值),"...":

scp.exe -r "username@${Server}:/home/copylogs/logs" .\logs_prod

注意需要在{...}中包含变量名,Server在这种情况下,这样后面的:就不会被解释为部分变量名称 - 请参阅 .