Java 服务器上的命令行操作

Java command line action on server

我试图在用户电脑上打开 outlook,但因为 windows 服务器中的应用程序是 运行 服务器上的命令,而不是用户电脑中的命令。

这是代码:

ProcessBuilder pb = new ProcessBuilder();
pb.command("cmd.exe", "/C", "start", "outlook.exe",
        "/eml", resultEmail.getCanonicalPath());
Process p = pb.start();

try {
    p.waitFor();
} finally {
    p.getErrorStream().close();
    p.getInputStream().close();
    p.getErrorStream().close();
    p.destroy();
}

还有一件事,当我像这样创建 eml 文件时:

File resultEmail = File.createTempFile("test", ".eml");

它在服务器的临时目录而不是用户电脑上创建。

我可以用 java 对 运行 outlook 做些什么,并在用户 pc 而不是在服务器中打开 eml 文件?

考虑 jcraft.jsch。注意 Windows 需要 Ssh 客户端(如 Putty)。

一旦您能够 ChannelExec.connect 在远程计算机上,Outlook 将从那里获取 eml 文件