public class Bbb
{
public static void main(String args[])
{
String [] cmd = {"cmd","/c","java File1"} ;
try
{
Runtime.getRuntime().exec(cmd);
}
catch(Exception e )
{
}
}
}
试一下这个
{
public static void main(String args[])
{
String [] cmd = {"cmd","/c","java File1"} ;
try
{
Runtime.getRuntime().exec(cmd);
}
catch(Exception e )
{
}
}
}
试一下这个
"cmd","/c","java File1",
其中/c代表什么意思呢。第一个cmd是代表运行命令行吗?
我这里有一个执行windows可以执行程序的例子,也是在cdsn上看到的。
Runtime.getRuntime().exec("cmd /F:ON /c start f:/俄罗斯方块.exe");
对这里面的参数不是太理解,虽然这个程序可用,但其中的start f:/俄罗斯方块.exe这部分可以理解,但前半部分一直都不大清楚,请指教,谢谢
之所以用cmd主要可以看到控制台输出
你就知道了
[[/S] [/C | /K] string]/C 执行字符串指定的命令然后终断
/K 执行字符串指定的命令但保留
/S 在 /C 或 /K 后修改字符串处理(见下)
/Q 关闭回应
/D 从注册表中停用执行 AutoRun 命令(见下)
/A 使向内部管道或文件命令的输出成为 ANSI
/U 使向内部管道或文件命令的输出成为 Unicode
/T:fg 设置前景/背景颜色(详细信息,请见 COLOR /?)
/E:ON 启用命令扩展(见下)
/E:OFF 停用命令扩展(见下)
/F:ON 启用文件和目录名称完成字符 (见下)
/F:OFF 停用文件和目录名称完成字符(见下)
/V:ON 将 ! 作为定界符启动延缓环境变量扩展。如: /V:ON 会
允许 !var! 在执行时允许 !var! 扩展变量 var。var 语法
在输入时扩展变量,这与在一个 FOR 循环内不同。
/V:OFF 停用延缓的环境扩展。
的多个命令。并且,由于兼容原因,/X 与 /E:ON 相同,/Y 与
/E:OFF 相同,并且 /R 与 /C 相同。忽略任何其他命令行开关。如果指定了 /C 或 /K,命令行开关后的命令行其余部分将作为命令行处
理;在这种情况下,会使用下列逻辑处理引号字符("): 1. 如果符合下列所有条件,那么在命令行上的引号字符将被
保留: - 不带 /S 命令行开关
- 整整两个引号字符
- 在两个引号字符之间没有特殊字符,特殊字符为下列中的
一个: <>()@^|
- 在两个引号字符之间有至少一个空白字符
- 在两个引号字符之间有至少一个可执行文件的名称。 2. 否则,老办法是,看第一个字符是否是一个引号字符,如果
是,舍去开头的字符并删除命令行上 的最后一个引号字符,
保留最后一个引号字符之后的文字。如果 /D 未在命令行上被指定,当 CMD.EXE 开始时,它会寻找
以下 REG_SZ/REG_EXPAND_SZ 注册表变量。如果其中一个或
两个都存在,这两个变量会先被执行。