java在win10下用命令行操作(cmd的命令由java程序执行)
For example:
/**
* @param ipAddress ip地址
* @param pingTimes 次数(一次ping,对方返回的ping的结果的次数)
* @param timeOut 超时时间 单位ms(ping不通,设置的此次ping结束时间)
* @return
* @throws IOException
*/
public static boolean ping(String ipAddress, int pingTimes, int timeOut) throws IOException {
BufferedReader in = null;
String pingCommand = null;
Runtime r = Runtime.getRuntime();
String osName = System.getProperty("os.name");
// System.out.println("the system is :" +osName);
if(osName.contains("Windows")){
//将要执行的ping命令,此命令是windows格式的命令
pingCommand = "ping " + ipAddress + " -n " + pingTimes + " -w " + timeOut;
}else{
//将要执行的ping命令,此命令是Linux格式的命令
//-c:次数,-w:超时时间(单位/ms) ping -c 10 -w 0.5 192.168.120.206
pingCommand = "ping " + " -c " + String.valueOf(pingTimes) + " " + " -w " + String.valueOf(timeOut) + " " + ipAddress;
}
// System.out.println("pingCommand="+pingCommand);
try {
//执行命令并获取输出
Process p = r.exec(pingCommand);
if (p == null) {
return false;
}
in = new BufferedReader(new InputStreamReader(p.getInputStream()));
int connectedCount = 0;
String line = null;
while ((line = in.readLine()) != null) {
connectedCount += getCheckResult(line,osName);
}
//如果出现类似=23 ms ttl=64(TTL=64 Windows)这样的字样,出现的次数=测试次数则返回真
//return connectedCount == pingTimes;
// System.out.println("connectedCount=:" +connectedCount);
return connectedCount >= pingTimes ? true : false;
} catch (Exception ex) {
ex.printStackTrace(); //出现异常则返回假
return false;
} finally {
in.close();
}
}
但这里有个问题:
1、win10下你需要使用管理员权限运行
解决办法:下载nircmd:下载地址:https://nircmd.nirsoft.net/,放到执行命令的头部,比如:c:/nircmd.exe elevate ping 192.168.123.27
java在win10下用命令行操作(cmd的命令由java程序执行)相关推荐
- cmd中mysql的操作语句,mysql命令行操作大全 mysql命令行操作总结
摘要 腾兴网为您分享:mysql命令行操作大全 mysql命令行操作总结,悦作业,英语字典,银万财富,小书亭等软件知识,以及webex,过租号,宁夏教育云,百货通,准妈妈课堂,京客隆网上超市,壁纸生成 ...
- DOS命令行操作MySQL常用命令
平时用可视化界面用惯了,如果紧急排查问题,没有安装可视化工具的话,只能通过命令来看了. 以备不时之需,我们要熟悉一下命令行操作MySQL. 打开DOS命令窗口:WIN + R 输入cmd,回车 然后输 ...
- linux重命名的命令行操作,Linux rename命令批量重命名的方法
Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了,由于历史原因,在Perl语言 ...
- mysql命令行操作大全_mysql命令行操作大全 mysql命令行操作总结
一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 或者: mysql -u 用户名 -p // 回车后要求输入密码,密码不可见 1.连接本机MYSQL. 打开DOS窗口, ...
- Mac通过命令行操作mysql
Mac通过命令行操作mysql 通过命令行启动数据库:终端输入 配置环境变量 在bash_profile文件的最后输入并保持文件 执行bash_profile文件 操作mysql 展示数据库 通过命令 ...
- U盘、硬盘 相关的(分区隐藏、格式化)命令行操作
U盘.硬盘 相关的 分区隐藏.格式化 的命令行操作 命令行操作 应用场景 命令行操作 Win+R 打开运行 输入 cmd 回车,进入命令行 diskpart #运行diskpart工具#会弹出新的命令 ...
- java图形化界面操作和命令行操作,常用的命令行指令
第1章 JAVA语言概述 系统软件即操作系统 做开发需要掌握一定的命令行指令 Java程序执行需要借助命令行 打开cmd方式 一 点击搜索输入cmd 二 按window键加R键,弹出窗口后再输入cm ...
- Hbase 完全分布式模式的搭建、命令行操作、Java API操作
追风赶月莫停留,平芜尽处是春山. 文章目录 追风赶月莫停留,平芜尽处是春山. 环境 Hbase 完全分布式模式的搭建 一.下载安装包,解压到合适位置: 二.配置相关的文件: 三.将Hbase复制到其他 ...
- 命令行界面命令模式及相互切换、交换机命令行操作模式及模式间的切换过程、命令行界面基本功能、命令的快捷键功能、交换机基本配置命令、交换机特权模式下基本命令、交换机全局配置模式下基本命令、
1.命令行界面命令模式及相互切换 锐捷交换机命令行管理界面分成若干不同的模式,用户当前所处的命令模式决定了可以使用的命令,不可跨模式执行命令.以下给出三种基本模式. 用户模式(User EXE ...
- linux下zookeeper启动命令,For Linux Zookeeper客户端命令行操作指令
目录 客户端命令行操作 1.启动客户端 2.停止客户端 3.显示所有操作命令 4.查看当前节点信息 ls ~ 详细信息 ls2 5.分别创建两个普通节点 6.获取节点的值 7.创建短暂节点 ~ cr ...
最新文章
- 山东春季高考计算机可以报考的本科学校,山东春季高考专业有哪些?可以报考的本科院校吗?...
- CVS/SVN 托管服务
- (12)调用门阶段测试
- QDoc关联事物Relating Things
- 笔记:基于DCNN的图像语义分割综述
- Web性能优化与Http2
- Chrome控制台用法
- C# -- HttpWebRequest 和 HttpWebResponse 的使用
- 【kafka】produce response correlation id xxx on topic-partition retrying Error: NETWORK_EXCEPTION
- SDNLAB技术分享(二):从Toaster示例初探ODL MD-SAL架构
- 移动web点5像素的秘密(转)
- 【论文笔记】Rich feature hierarchies for accurate object detection and semantic segmentation
- 敏捷软件质量保证的方法与实践
- Windows 如何设置新建文本文档快捷键
- 2020年中国医疗卫生机构数量、床位、人员和诊疗次数现状,疫情下诊疗人数有所下降「图」
- 硬盘分区整数计算方法
- python 共享内存 c_如何在python和C/C++中使用共享内存
- 一文读懂nginx gzip_static
- 第二周 半导体器件基础(二)
- 经典算法题型(二):二维数组(平面地图)的递归操作