0

我需要从本地计算机在远程系统上运行批处理文件。使用下面的代码,我收到以下错误:

Path not correct

我有机器的 IP 地址,我将批处理文件作为公共共享,共享名称是dsc.

机器的IP地址是16.181.37.28。

这是我的代码。我知道路径是错误的。我怎样才能给出确切的路径?

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author padmaja
 */

import java.io.*;
class Test{
public static void main(String arg[]){
try{
String command = "cmd /C start 16.181.37.28/dsc/StartVisTsDataCenterMySql-log.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);

}catch (IOException e) {
e.printStackTrace();
}
}
}
4

3 回答 3

1

您是要在远程机器上还是在本地机器上运行脚本?您的方法将从远程机器读取文件,但在本地运行它。

在远程机器上运行某些东西的常用方法是让远程机器上的进程永久运行并监听请求。如果请求到达,此过程将启动您想要运行的批处理文件。

于 2009-01-31T15:52:29.177 回答
0

您可以通过创建服务来测试它是否有效:

sc \\16.181.37.28 create StartVisTsDataCenterMySql-Log binPath= "cmd /c \\16.181.37.28\dsc\StartVisTsDataCenterMySql-log.bat"

然后运行它的命令是:

"cmd /c sc \\16.181.37.28 stop StartVisTsDataCenterMySql-Log&sc \\16.181.37.28 start StartVisTsDataCenterMySql-Log"

您需要以管理员身份连接到共享(或保存凭据)。确认有效后,更改为srvany,因为您将在事件日志中收到错误,否则批处理文件将只允许运行 30 秒。

如果这不是正确的答案,也许您可​​以详细说明真正的需求,并提供一些关于用 Java 重新实现批处理文件是否是现实解决方案的信息。

于 2009-01-31T19:33:35.470 回答
0

您在 Windows 上运行,但使用 Posix 路径分隔符。试试"cmd /C \\\\16.181.37.28\\dsc\\StartVisTsDataCenterMySql-log.bat"

于 2009-01-31T15:42:38.447 回答