PowerShell 调用 WinSCP.com 时出现“您必须在 '/' 运算符之后提供值表达式”错误

Vic*_*tor 6 windows ftp powershell sftp winscp

我有一段代码可以将文件放入 FTP 服务器。看起来像这样:

"C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open user@myFTPServer:MyPort/MyPath/ -privatekey=myprivatekey.ppk" "put myfile.txt" "exit"
Run Code Online (Sandbox Code Playgroud)

这在 Windows 命令提示符下运行良好,但是在 PowerShell 中运行相同的东西时它不起作用并返回以下错误:

“您必须在'/'运算符之后提供一个值表达式”

我已经尝试了我的代码的几种组合,但都没有奏效:

1)

"C:\Program Files (x86)\WinSCP\WinSCP.com" -command "open user@myFTPServer:MyPort/MyPath/ -privatekey=myprivatekey.ppk" "put myfile.txt" "exit"
Run Code Online (Sandbox Code Playgroud)

2)

"C:\Program Files (x86)\WinSCP\WinSCP.com" -command ""open user@myFTPServer:MyPort/MyPath/ -privatekey=myprivatekey.ppk" "put myfile.txt" "exit""
Run Code Online (Sandbox Code Playgroud)

Bil*_*art 17

由于 winscp.com 可执行文件的路径和/或文件名包含空格,请使用&运算符调用它:

& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open user@myFTPServer:MyPort/MyPath/ -privatekey=myprivatekey.ppk" "put myfile.txt" "exit"
Run Code Online (Sandbox Code Playgroud)

(当然,假设 winscp.com 的命令行参数是正确的)