我创建了以下命令文件,其名称为submitCmd.txt
:
open [email protected] /cdn-cgi/l/email-protection -privatekey=C:\Users\Mike\Desktop\uploader\mykey.ppk
put C:\Users\Mike\Desktop\uploader\files2Upload\myFile.xlsx /mnt/data/myFolder/
close
exit
当我从命令行运行上述脚本时:
winscp.com /script=C:\Users\Mike\Desktop\uploader\submitCmd.txt
它运行成功。
但是,当我在 python 中尝试以下操作时:
cmdFile = r'C:\Users\Mike\Desktop\uploader\submitCmd.txt'
import subprocess
subprocess.run(["winscp.com", "/script=", cmdFile], shell=True)
我收到错误:
Searching for host...
Host "C" does not exist.
winscp>
您的命令将像这样运行 WinSCP:
winscp.com /script= C:\Users\Mike\Desktop\uploader\submitCmd.txt
什么是无效语法。后面不能有空格/script=
.
这应该有效:
subprocess.run(["winscp.com", "/script=" + cmdFile], shell=True)
如果您想避免创建脚本文件,请参阅:从 Python 在控制台中运行 WinSCP 命令 https://stackoverflow.com/q/56449699/850848.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)