在java里面如何运行多条cmd命令?我是用for来循环,一次运行一条,可是老是不执行。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java里面如何运行多条cmd命令?我是用for来循环,一次运行一条,可是老是不执行。相关的知识,希望对你有一定的参考价值。

而我把命令打印出来,然后在手动运行,每条命令是可以执行的。
public class Diff
public static void main(String[] args)
String src=""; String tgt=""; String cmd="";
Runtime run=Runtime.getRuntime(); Process p=null;
int i=1;
for(;i<10;i++)

src="C:\\T\\slds\\"+i+".txt";
tgt="C:\\T\\slds\\"+i+"0.txt";
cmd="fc "+tgt+" "+src+" >> F:\\diff\\temp"+i+".txt";
try

System.out.println(cmd);
p = run.exec(cmd);

catch (Exception e)e.printStackTrace();


我的还是不行
、、、、知道答案了。忘了加cmd /c

public class TestCmd
public TestCmd()


public static void main(String args[])
try

// 登网站
Process process = Runtime.getRuntime().exec(
"cmd.exe /c start http://www.hao123.net/");

// 使用用Ping命令

Process ee = Runtime.getRuntime().exec(
"cmd.exe /c start ping 10.5.2.19");

catch (Exception e)
e.printStackTrace();




运行这个类你会看到效果
这个是运行了ping命令

我使用Process pc = Runtime.getRuntime().exec("cmd /c ping 127.0.0.1");可以成功;
参考技术A 下面这个运行正常,希望对你有用,可以打开F盘下的0.txt,1.txt,2.txt

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class test

/**
* @param args
*/
public static void main(String[] args)

// TODO Auto-generated method stub
Runtime rn=Runtime.getRuntime();
Process p= null;
try

//p = rn.exec( "cmd /k dir ");
for(int i=0;i<=2;i++)
p = rn.exec( "C:\\Windows\\system32\\notepad.exe f:\\"+i+".txt");

catch (Exception e)
System.out.println( "Error exec notepad ");


CMD里面javac运行不了。。

电脑是win8

以下是bin那个文件夹的路径C:\Program Files (x86)\Java\jdk1.7.0_40\bin
我在环境变量path设置里面直接把它粘贴到了最后然后加了一个;
然后CMD 里面java可以运行 但是javac就显示‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件。求大神指点!拜托了!

你安装JDK的时候,是按默认方式按的,里面包含有公共JRE。

 

而公共JRE在安装过程中,是自动设置环境变量的,现在你运行javac,这是要编译,但是系统的编译指向是JRE,而JRE没有编译功能。

 

建议你:

1)卸载你原来安装的JDK;

2)在系统的环境变量中将JAVA_HOME,classpath选项删除,将path选项中与jdk有关的路径删除;

3)重新安装JDK,到选择程序的时候如图:

4)配置环境变量:新增JAVA_HOME:安装路径

新增CLASSPATH:.;%JAVA_HOME%\\LIB;

修改path:加入:%JAVA_HOME%\\bin

参考技术A 环境变脸就三个配置
你的意思是在任意盘符下 运行 javac 就要有个全局的环境变量配置 如下
CLASS_PATH :. //我一直都是一个点(还有安装程序不要都弄到C盘)

JAVA_HOME :C:\Program Files (x86)\Java\jdk1.7.0_40\

PATH :C:\Program Files (x86)\Java\jdk1.7.0_40\bin;(注意这个分号)
应该ok了
参考技术B 是不是这个path路径前面没有加上分号?

根据网上所说的环境变量配置是这样的
JAVA_HOME: C:\Program Files (x86)\Java\jdk1.7.0_40

PATH: .;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

CLASSPATH: %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

因为环境变量中的前一个变量可能没有用分号结束,所以要检查一下我们要加的变量前面有没有分号
我自己试了一下PATH,没有加上%JAVA_HOME%\jre\bin,感觉好像问题也不大

以上是关于在java里面如何运行多条cmd命令?我是用for来循环,一次运行一条,可是老是不执行。的主要内容,如果未能解决你的问题,请参考以下文章

安装perl for win32 是用cmd的cd指令结果显示"perl"不是内部或外部命令,也不是可运行的程序或批处理文件。

如何用shell调用多条cmd命令

怎么在cmd里面运行 java

bat 文件多条命令的执行

dockerfile CMD执行多条命令且需要支持环境变量

为啥cmd中运行不了Java