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

时间:2017-12-04 17:25:30

标签: windows powershell ftp sftp winscp

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

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

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

  

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

我尝试了一些代码组合,但没有一个能够工作:

1)

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

2)

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

1 个答案:

答案 0 :(得分:4)

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

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

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