c执行dos命令:java如何实现远程执行dos命令!?来源: 发布时间:星期四, 2008年11月20日 浏览:24次 评论:0
现在在某机器部署的javaprogram要在另外一台windows服务器上执行一条cmd命令,虚心请教傲博网友该怎么实现啊?~~~呼唤大侠~
socket编程啊,不太熟,哈哈,帮小菜顶了.
没看理解啥意思....帮你顶吧~~~
利用socket通信,把写好的批处理传到服务器上,然后执行,但是貌似有难度,只是个思路
我的JDK版本:
java version "1.6.0_04" Java(TM) SE Runtime Environment (build 1.6.0_04-b12) Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
小菜看看 Telnet 协议,http://www.cnpaf.net/class/telnet/ 然后使用 Java 自己实现或使用第三方类库.
期待
SOCKAT编程 不会啊 !
socket serversocket,两台电脑都要装java环境
File FileName=new File("D:\\sql2000\\SETUP.BAT");
String str="net stop ServerMgr\n net start ServerMgr>E:\\1.txt"; WriteFile(str); try { String command = "cmd.exe /c"+"start D:\\sql2000\\SETUP.BAT"; Process child = Runtime.getRuntime().exec(command); } catch (IOException e) { System.out.println("文件Error"); }
socket serversocket
肯定需要在要执行program的机器上搞个服务器program,等待用户远程输入命令,然后再执行,
不过这不就是unix操作系统的原理么?
String command = "cmd.exe /c ipconfig /all";//这里的/c 是什么意思
Process p = Runtime.getRuntime().exec(command);
可以用socket把执行的Dos命令传到另一台计算机,然后接受到之后执行命令
thinking in java 第四版551页
//: net/mindview/util/OSExecute.java // Run an operating system command // and send the output to the console. package net.mindview.util; import java.io.*; public class OSExecute { public static void command(String command) { boolean err = false; try { Process process = new ProcessBuilder(command.split(" ")).start(); BufferedReader results = new BufferedReader( new InputStreamReader(process.getInputStream())); String s; while((s = results.readLine())!= null) System.out.println(s); BufferedReader errors = new BufferedReader( new InputStreamReader(process.getErrorStream())); // Report errors and return nonzero value // to calling process if there are problems: while((s = errors.readLine())!= null) { System.err.println(s); err = true; } } catch(Exception e) { // Compensate for Windows 2000, which throws an // exception for the default command line: if(!command.startsWith("CMD /C")) command("CMD /C " + command); else throw new RuntimeException(e); } if(err) throw new OSExecuteException("Errors executing " + command); } } ///:~ //: net/mindview/util/OSExecuteException.java package net.mindview.util; public class OSExecuteException extends RuntimeException { public OSExecuteException(String why) { super(why); } } ///:~
用一个客户端program,将指令传过去就可以了啊
用一个客户端program,将指令传过去就可以了啊
0
相关文章
读者评论
发表评论 |

