我有一段代码将文件放入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""
答案 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的命令行参数当然是正确的)