java实现dos命令

zings 2009-12-01 09:41:40
我想用Java实现dos下执行多条命令,想如下这样:

String cmd5 = "net use o: \\10.8.0.90\netfile 123.com/user:administrator";
String cmd6 = "copy o:\\test.txt E:\\share\\cpu.txt"; //cpuinfo.txt
String cmd7 = "net use o: /del";
String cmd8 = "exit";
Runtime.getRuntime().exec("cmd /c start");
// Process process =
Runtime.getRuntime().exec("dir ");
// process.waitFor();
// Process process1 =
Runtime.getRuntime().exec("ipconfig" );
// process1.waitFor();
// Process process2 = Runtime.getRuntime().exec(cmd6);
//// process2.waitFor();
// Process process3 = Runtime.getRuntime().exec(cmd7);
//// process3.waitFor();
// Process process4 = Runtime.getRuntime().exec(cmd8);
// process4.waitFor();
Process process5 = Runtime.getRuntime().exec("exit");
process5.waitFor();
// Process process2 = Runtime.getRuntime().exec("cmd /c dir");
// process2.waitFor();



但是不能得到自己想要的结果。。。执行一条还行,但是执行多条就有问题,请高手指点!!!

如何用Java实现本地dos命令下的多条指令!!!想copy , dir 。。。等
谢谢!!!
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁匠梁 2009-12-02
  • 打赏
  • 举报
回复
最好一个命令执行完了再执行下一条命令。
sabrina1013 2009-12-01
  • 打赏
  • 举报
回复
可以一行行执行。我用的是processBuilder,然后用线程判断上一个进程是否死了,死了的话,继续。。。这样就能顺序执行了。
zings 2009-12-01
  • 打赏
  • 举报
回复
谢谢楼上的。。。一行一行执行不能实现吗???

批处理文件怎么写??
echo NET USE u: \\10.8.0.87\test 123.com/user:administrator > a.bat
echo copy u:\test.txt E:\share\cpu.txt >> a.bat
echo net use u: /del >> a.bat
echo finish... >> a.bat

这样吗?不能得到。。。临时总结下些的。。。 望高人指点!!!
一头头 2009-12-01
  • 打赏
  • 举报
回复
我是把bat做成exe然后运行的

个人感觉要搞cmd很麻烦 烦死了

public void Copy(){
String text = null;
String command = "D://a//Copy.exe";// exe,bat文件名OR

try {
Process proc = Runtime.getRuntime().exec(command);
BufferedReader in = new BufferedReader(new InputStreamReader(proc
.getInputStream()));
while ((text = in.readLine()) != null) {
System.out.println(text); }
} catch (IOException ioError) {
ioError.printStackTrace();
System.exit(0);
}
}
zings 2009-12-01
  • 打赏
  • 举报
回复
谢谢楼上的。。。
我用那个批处理文件得到了结果了。。。原来是因为有一个bug,执行一次就非要断开,重新连接,执行,否则,就会有错误提示:不允许一个用户以一个以上用户名登陆进行多重连接。。。
这个是net user的一个问题。。。我现在dos下执行,再在程序中执行 就得不到,非要现在dos清一下,再程序中执行,就可以得到。。。
完美化中。。。。

50,550

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧