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

REMOTEマシンまたはローカルマシンでスクリプトを実行しようとしていますか?あなたのアプローチはリモートマシンからファイルを読み取りますが、ローカルで実行します。

リモートマシンで何かを実行する通常の方法は、リモートマシンでプロセスを永続的に実行し、要求をリッスンすることです。リクエストが到着すると、このプロセスは実行したいバッチファイルを開始します。

于 2009-01-31T15:52:29.177 に答える
0

Windowsで実行していますが、Posixパスセパレーターを使用しています。試してみてください"cmd /C \\\\16.181.37.28\\dsc\\StartVisTsDataCenterMySql-log.bat"

于 2009-01-31T15:42:38.447 に答える
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 に答える