通过ssh在Windows计算机上运行.exe文件不起作用

时间:2018-05-18 06:16:09

标签: python windows exe openssh

我必须运行一个带有2个参数的.exe文件 -

i.lower() in x.lower()

我在两台机器上都有openSSH设置并运行。现在我尝试使用文件运行  File.exe Arg1 Arg2

然而,即使没有收到任何错误,也没有任何反应。一切正常。我尝试运行ls,pwd等,它们工作正常。此外,我也尝试运行.bat文件,它也可以正常工作。 我错过了什么?

1 个答案:

答案 0 :(得分:1)

可能(但它取决于command interpreter,例如你的Unix shell如果你的本地机器是Unix系统,或cmd.exe如果你的本地机器运行Windows)你的参数executable 1}},即字符串os.system被解析为复合命令,它是由分号分隔的两个子命令的序列:

ssh remote@ip cd C:/path/to/File;"./File.exe Arg1 Arg2"

只是在ssh remote@ip cd C:/path/to/File 主机上以用户cd运行(无用)ip而没有别的

然后

remote

尝试(并且失败)运行(在本地系统上)名为"./File.exe Arg1 Arg2" 的{​​{3}}(文件可以有空格,但这很难看,你应该避免这样做)

也许你应该做

./File.exe Arg1 Arg2

您应该测试os.system

的结果代码

实际上,如果您使用os.system("ssh remote@ip 'cd C:/path/to/File; ./File.exe Arg1 Arg2'") 进行编码,我建议您使用一些程序标记来更改working directorymake或{{1}的./File.exe标记在其代码中可能是鼓舞人心的。

请记住,每个process(包括您的shell或命令解释程序)都有自己的工作目录。详细信息是特定于操作系统的。