package com.syswin.first;


import sun.rmi.runtime.Log;


/**

* @author YuFeifei

* @version 2017年11月17日 下午3:08:24

* 命令行类,通过此类操作cmd/terminal命令

 * @param cmdString命令参数


 * */

public class CmdCommand {

String osName = System.getProperty("os.name");

Runtime p = Runtime.getRuntime();//获取当前执行环境

/**获取当前操作系统,执行相应命令*/

public void  execCmd(String cmdString){

try{

if (osName.toLowerCase().contains("mac")){

String command = "/bin/sh"+"-c"+ cmdString;//存储terminal命令

Process process = p.exec(command);//执行terminal命令

System.out.println("当前操作系统为:" + osName + "已执行命令:" + "cmdString");

}else if (osName.toLowerCase().contains("win")){

String command = "cmd.exe /k "+ cmdString;//cmd /c 执行完命令后关闭命令窗口。 cmd /k 执行完命令后不关闭命令窗口

Process process = p.exec(command);

System.out.println("当前操作系统为:" + osName + "已执行命令:" + cmdString);

}

}catch (Exception e){

e.printStackTrace();

}

}

/**测试,可忽略*/

public static void main(String agrs[]){

CmdCommand tmp = new CmdCommand();

tmp.execCmd("Nox.exe");

tmp.execCmd("appium");

tmp.execCmd("taskkill -F -PID Nox.exe");

tmp.execCmd("taskkill -F -PID appium");

}



}