我有一段代码可以将文件放入 FTP 服务器。看起来像这样:
"C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open user@myFTPServer:MyPort/MyPath/ -privatekey=myprivatekey.ppk" "put myfile.txt" "exit"
这在 Windows 命令提示符下运行良好,但在 PowerShell 中运行相同的东西时它不起作用并返回以下错误:
"You must provide a value expression following the '/' operator"
我已经尝试了几种代码组合,但都没有奏效:
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""
最佳答案
由于 winscp.com 可执行文件的路径和/或文件名包含空格,因此使用 &
运算符调用它:
& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open user@myFTPServer:MyPort/MyPath/ -privatekey=myprivatekey.ppk" "put myfile.txt" "exit"
(当然,假设 winscp.com 的命令行参数在其他方面是正确的)
关于windows - PowerShell "You must provide a value expression following the ' 调用WinSCP.com时出现/' operator"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638737/