リモート マシンに .bat ファイルがあります。http呼び出しで呼び出したい。リモートマシンで変更を加えたくありません。Javaとhttpを使用してそれを行う方法はありますか?
String command = "cmd /C start C:/Users/abc/Desktop/test.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
上記は、ローカル マシンで .bat ファイルを呼び出すのに適しています。他の方法も考えても構いませんが、http 経由で呼び出すのが第一の選択肢です。
編集:私は今これを行うために paramiko を使用しています。ただし、コマンド プロンプトでリモート コマンドを実行できません。
ssh = paramiko.SSHClient()
print "Enter the IP address"
ip = raw_input("ip>")
print "Enter the username"
user = raw_input("username>")
print "Enter the password"
pwd = raw_input("password>")
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, username=user, password=pwd, allow_agent = False)
print "connection successfull"
i, o, e = ssh.exec_command("echo test") # example command
s = e.read()
if s: # an error occurred
raise RuntimeError, s
result = o.read()
print result
どういうわけか、AllowDesktopAccess が失敗したと表示されます