Python 通过ssh在Windows计算机上运行.exe文件无效

Python 通过ssh在Windows计算机上运行.exe文件无效,python,windows,exe,openssh,Python,Windows,Exe,Openssh,我必须运行一个.exe文件,该文件包含两个参数,如下所示- File.exe Arg1 Arg2 我已经在两台机器上安装并运行了openSSH。现在,我尝试使用 os.system(“sshremote@ipcd C:/path/to/File;\“/File.exe Arg1 Arg2\”) 但是,即使没有收到错误,也不会发生任何事情。一切正常。我试过运行ls、pwd等,它们运行得很好。此外,我还试着运行一个.bat文件,它也可以正常工作。 我遗漏了什么?可能(但这取决于,例如,如果您的本地

我必须运行一个.exe文件,该文件包含两个参数,如下所示-

File.exe Arg1 Arg2
我已经在两台机器上安装并运行了openSSH。现在,我尝试使用
os.system(“sshremote@ipcd C:/path/to/File;\“/File.exe Arg1 Arg2\”)

但是,即使没有收到错误,也不会发生任何事情。一切正常。我试过运行ls、pwd等,它们运行得很好。此外,我还试着运行一个.bat文件,它也可以正常工作。 我遗漏了什么?

可能(但这取决于,例如,如果您的本地计算机是Unix系统,或者如果您的本地计算机运行Windows)您的
os.system
参数,即字符串
sshremote@ipcd C:/path/to/File;“/File.exe Arg1 Arg2”
被解析为复合命令,即由两个子命令组成的序列,用分号分隔:

ssh remote@ip cd C:/path/to/File
它只是在
ip
主机上以用户
remote
的身份运行一张(无用的)
cd
,其他什么都没有

然后

试图(在本地系统上)运行名为
/File.exe Arg1 Arg2
(文件可以有空格,但这很难看,您应该避免)

也许你应该这样做

os.system("ssh remote@ip 'cd C:/path/to/File; ./File.exe Arg1 Arg2'")
您应该测试代码的结果

实际上,如果您正在编写
/File.exe
,我建议使用一些程序标志来更改其代码中的(
-C
tar
-C
标志可能是鼓舞人心的)


请记住,每个(包括shell或命令解释器)都有自己的工作目录。详细信息取决于操作系统。

感谢您的回复。使用空格分隔的命令解决了此问题。生成了所需的新文件,并完成了所有操作。我认为什么都不起作用的主要原因是,从远程计算机启动File.exe时,它本身在屏幕上打开了一个新窗口。通过ssh发出的命令没有做到这一点。虽然我实际上不需要它,但有没有办法在远程计算机的屏幕上显示该窗口?这是一个非常不同的问题,它是操作系统特定的(取决于本地和远程计算机上的操作系统)。如果远程系统是Linux,请考虑使用<代码> SSH-X<代码>。否则,请阅读
os.system("ssh remote@ip 'cd C:/path/to/File; ./File.exe Arg1 Arg2'")