Java实现运行dos命令

合集下载

java执行windows下cmd命令的方法

java执行windows下cmd命令的方法

java执⾏windows下cmd命令的⽅法本⽂实例讲述了java执⾏windows下cmd命令的⽅法。

分享给⼤家供⼤家参考。

具体实现代码如下:复制代码代码如下://获取运⾏时Runtime rt = Runtime.getRuntime();//获取进程Process p = rt.exec(String[] cmdarray);//或者 Process p = rt.exec(String cmd);//如果p不为空,那么要清空if(null!=p){destory p.destory(); p=null;}例如:复制代码代码如下:Runtime rt = Runtime.getRuntime();Process p = rt.exec("cmd.exe /c shutdown -a");System.out.println(p.toString());cmd /c dir 是执⾏完dir命令后关闭命令窗⼝。

cmd /k dir 是执⾏完dir命令后不关闭命令窗⼝。

cmd /c start dir 会打开⼀个新窗⼝后执⾏dir指令,原窗⼝会关闭。

cmd /k start dir 会打开⼀个新窗⼝后执⾏dir指令,原窗⼝不会关闭。

可以⽤cmd /?查看帮助信息。

补充:★CMD命令★1. gpedit.msc-----组策略2. sndrec32-------录⾳机3. Nslookup-------IP地址侦测器4. explorer-------打开资源管理器5. logoff---------注销命令6. tsshutdn-------60秒倒计时关机命令7. lusrmgr.msc----本机⽤户和组8. services.msc---本地服务设置9. oobe/msoobe /a----检查XP是否激活10. notepad--------打开记事本11. cleanmgr-------垃圾整理12. net start messenger----开始信使服务13. compmgmt.msc---计算机管理14. net stop messenger-----停⽌信使服务15. conf-----------启动netmeeting16. dvdplay--------DVD播放器17. charmap--------启动字符映射表18. diskmgmt.msc---磁盘管理实⽤程序19. calc-----------启动计算器20. dfrg.msc-------磁盘碎⽚整理程序21. chkdsk.exe-----Chkdsk磁盘检查22. devmgmt.msc--- 设备管理器23. regsvr32 /u *.dll----停⽌dll⽂件运⾏24. drwtsn32------ 系统医⽣25. rononce -p ----15秒关机26. dxdiag---------检查DirectX信息27. regedt32-------注册表编辑器28. Msconfig.exe---系统配置实⽤程序29. rsop.msc-------组策略结果集30. mem.exe--------显⽰内存使⽤情况31. regedit.exe----注册表32. winchat--------XP⾃带局域⽹聊天33. progman--------程序管理器34. winmsd---------系统信息35. perfmon.msc----计算机性能监测程序36. winver---------检查Windows版本37. sfc /scannow-----扫描错误并复原38. taskmgr-----任务管理器(2000/xp/200339. winver---------检查Windows版本40. wmimgmt.msc----打开windows管理体系结构(WMI)41. wupdmgr--------windows更新程序42. wscript--------windows脚本宿主设置43. write----------写字板44. winmsd---------系统信息45. wiaacmgr-------扫描仪和照相机向导46. winchat--------XP⾃带局域⽹聊天47. mem.exe--------显⽰内存使⽤情况48. Msconfig.exe---系统配置实⽤程序49. mplayer2-------简易widnows media player50. mspaint--------画图板51. mstsc----------远程桌⾯连接52. mplayer2-------媒体播放机53. magnify--------放⼤镜实⽤程序54. mmc------------打开控制台55. mobsync--------同步命令56. dxdiag---------检查DirectX信息57. drwtsn32------ 系统医⽣58. devmgmt.msc--- 设备管理器59. dfrg.msc-------磁盘碎⽚整理程序60. diskmgmt.msc---磁盘管理实⽤程序61. dcomcnfg-------打开系统组件服务62. ddeshare-------打开DDE共享设置63. dvdplay--------DVD播放器64. net stop messenger-----停⽌信使服务65. net start messenger----开始信使服务66. notepad--------打开记事本67. nslookup-------⽹络管理的⼯具向导68. ntbackup-------系统备份和还原69. narrator-------屏幕“讲述⼈”70. ntmsmgr.msc----移动存储管理器71. ntmsoprq.msc---移动存储管理员操作请求72. netstat -an----(TC)命令检查接⼝73. syncapp--------创建⼀个公⽂包74. sysedit--------系统配置编辑器75. sigverif-------⽂件签名验证程序76. sndrec32-------录⾳机77. shrpubw--------创建共享⽂件夹78. secpol.msc-----本地安全策略79. syskey---------系统加密,⼀旦加密就不能解开,保护windows xp系统的双重密码80. services.msc---本地服务设置81. Sndvol32-------⾳量控制程序82. sfc.exe--------系统⽂件检查器83. sfc /scannow---windows⽂件保护84. tsshutdn-------60秒倒计时关机命令85. tourstart------xp简介(安装完成后出现的漫游xp程序)86. taskmgr--------任务管理器87. eventvwr-------事件查看器88. eudcedit-------造字程序89. explorer-------打开资源管理器90. packager-------对象包装程序91. perfmon.msc----计算机性能监测程序92. progman--------程序管理器93. regedit.exe----注册表94. rsop.msc-------组策略结果集95. regedt32-------注册表编辑器96. rononce -p ----15秒关机97. regsvr32 /u *.dll----停⽌dll⽂件运⾏98. regsvr32 /u zipfldr.dll------取消ZIP⽀持99. cmd.exe--------CMD命令提⽰符100. chkdsk.exe-----Chkdsk磁盘检查101. certmgr.msc----证书管理实⽤程序102. calc-----------启动计算器103. charmap--------启动字符映射表104. cliconfg-------SQL SERVER 客户端⽹络实⽤程序105. Clipbrd--------剪贴板查看器106. conf-----------启动netmeeting107. compmgmt.msc---计算机管理108. cleanmgr-------垃圾整理109. ciadv.msc------索引服务程序110. osk------------打开屏幕键盘111. odbcad32-------ODBC数据源管理器112. oobe/msoobe /a----检查XP是否激活113. lusrmgr.msc----本机⽤户和组114. logoff---------注销命令115. iexpress-------⽊马捆绑⼯具,系统⾃带116. Nslookup-------IP地址侦测器117. fsmgmt.msc-----共享⽂件夹管理器118. utilman--------辅助⼯具管理器119. gpedit.msc-----组策略120. explorer-------打开资源管理器javac 其实执⾏了只是没有输出执⾏结果因为你没有输出执⾏结果的部分如果你执⾏复制代码代码如下:Runtime.getRuntime.exec("cmd");也看不到结果因为它不是在java程序中执⾏的⽽是在操作系统上执⾏的你可以这样复制代码代码如下:Runtime.getRuntime.exec("cmd /c start javac ");就可以看到⼀个命令⾏窗。

Java调用本地命令

Java调用本地命令

Java调⽤本地命令参考:⼀、Process类ProcessBuilder.start()创建⼀个本机进程,并返回⼀个Process⼦类的⼀个实例,该实例可以获取进程的相关信息,也可以控制进程。

这个进程没有⾃⼰的终端,它的操作结果io都重定向到了它的⽗进程,⽗进程通过getInputStream(),getOutputStream(),getErrorStream()为⼦进程提供输⼊和获取输出,⽽对于io流如果有缓冲⼤⼩限制,则可能出现阻塞,导致死锁情况。

可使⽤destory()⽅式强制杀掉⼦进程,exitValue()返回执⾏结果,如果⼦进程需要等待返回,调⽤waitFor()⽅法将当前线程等待,直到⼦进程退出。

⼆、Runtime类Runtime.getRuntime().exec() 获得的就是Process类,exec()⽅法有多个重载可以使⽤,针对不同的情况设置不同的参数。

另外需要注意的是执⾏的windows和linux的明林的写法是不同的。

public static void main(String[] args) {String command = "notepad.exe txt.txt";try {Process process = Runtime.getRuntime().exec(command);BufferedInputStream bis = new BufferedInputStream(process.getInputStream());BufferedReader br = new BufferedReader(new InputStreamReader(bis));String line;while ((line = br.readLine()) != null) {System.out.println(line);}process.waitFor();if (process.exitValue() != 0) {System.out.println("error!");}bis.close();br.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}三、Apache Common-Exec强烈建议使⽤apache的第三⽅库,该库提供了更加详细的设置和监控⽅法等等。

java打开本地应用程序(调用cmd)---Runtime用法详解

java打开本地应用程序(调用cmd)---Runtime用法详解

java打开本地应⽤程序(调⽤cmd)---Runtime⽤法详解 有时候我们需要借助java程序打开电脑⾃带的⼀些程序,可以直接打开或者借助cmd命令窗⼝打开⼀些常⽤的应⽤程序或者脚本,在cmd窗⼝执⾏的命令都可以通过这种⽅式运⾏。

例如:package cn.xm.exam.test;import java.io.IOException;import org.junit.Test;public class TestCmd {@Testpublic void test1() throws IOException {// 直接打开应⽤程序Runtime.getRuntime().exec("C:/Users/liqiang/Desktop/开机后点它.bat"); // 打开⼀个批处理⽂件Runtime.getRuntime().exec("E:/酷狗/KGMusic/KuGou.exe"); // 打开酷狗/******** 可以通过cmd命令打开软件或者是做其他 *****/Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k start E:/酷狗/KGMusic/KuGou.exe"); // 通过cmd窗⼝执⾏命令Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k start E:/php/Test/第⼀个html/界⾯.html"); // 通过cmd命令打开⼀个⽹页Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k mkdir C:\\Users\\liqiang\\Desktop\\java键的1"); // 通过cmd创建⽬录⽤两个反斜杠Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k mkdir C:\\Users\\liqiang\\Desktop\\java键的2"); // 通过cmd创建⽬录⽤两个反斜杠Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c calc ");// 通过cmd打开计算器}@Testpublic void test2() throws IOException {/******** 可以通过cmd命令打开软件或者是做其他 *****/Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c osk");// 通过屏幕软键盘}}另外也可以获取⼀些其他的JVM参数:long totalMemory = Runtime.getRuntime().totalMemory();//总内存long freeMemory = Runtime.getRuntime().freeMemory();//剩余内存long maxMemory = Runtime.getRuntime().maxMemory();//最⼤内存System.out.println(totalMemory/1024/1024+"MB");System.out.println(freeMemory/1024/1024+"MB");System.out.println(maxMemory/1024/1024+"MB");也可以直接执⾏⼀些命令:Runtime.getRuntime().exec("calc");//打开计算器补充:上⾯的⽅式都是异步运⾏的⽅式,也就是在执⾏命令之后会不等exec执⾏完就执⾏下⼀条语句,为了实现同步结果,或者为了获取返回的结果,参考:import java.io.IOException;import java.io.InputStream;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public final class Test {private static final Logger logger = LoggerFactory.getLogger(Test.class);public static void main(String[] args) throws NullPointerException {long start = System.currentTimeMillis();String srcPath = "C:/Users/liqiang/Desktop/ww/tt.docx", desPath = "C:/Users/liqiang/Desktop/ww";String command = "";String osName = System.getProperty("");if (osName.contains("Windows")) {command = "soffice --headless --convert-to pdf " + srcPath + " --outdir " + desPath;exec(command);}long end = System.currentTimeMillis();logger.debug("⽤时:{} ms", end - start);}public static boolean exec(String command) {Process process;// Process可以控制该⼦进程的执⾏或获取该⼦进程的信息try {logger.debug("exec cmd : {}", command);process = Runtime.getRuntime().exec(command);// exec()⽅法指⽰Java虚拟机创建⼀个⼦进程执⾏指定的可执⾏程序,并返回与该⼦进程对应的Process对象实例。

dos命令大全及用法

dos命令大全及用法

dos命令大全及用法DOS命令大全及用法。

DOS(Disk Operating System)是早期微软公司的操作系统,它的命令行界面让用户可以通过输入命令来操作计算机。

虽然现在的Windows操作系统已经不再使用DOS,但是DOS命令仍然有一定的实用价值,尤其是在一些特定的场景下。

本文将介绍一些常用的DOS命令及其用法,希望对大家有所帮助。

1. dir。

dir命令用于列出当前目录下的文件和子目录。

在命令行中输入dir后,按下回车键,系统将会列出当前目录下的所有文件和子目录的名称、大小和修改日期。

2. cd。

cd命令用于改变当前目录。

比如,要进入D盘下的test目录,可以在命令行中输入cd d:\test,然后按下回车键,系统就会切换到D盘下的test目录。

3. copy。

copy命令用于复制文件。

比如,要将C盘下的test.txt文件复制到D盘下,可以在命令行中输入copy c:\test.txt d:\,然后按下回车键,系统就会将test.txt文件复制到D盘下。

4. del。

del命令用于删除文件。

在命令行中输入del后,再输入要删除的文件名,按下回车键,系统就会删除该文件。

5. md。

md命令用于创建新的目录。

比如,要在E盘下创建一个名为test的目录,可以在命令行中输入md e:\test,然后按下回车键,系统就会在E盘下创建一个名为test的目录。

6. rd。

rd命令用于删除目录。

在命令行中输入rd后,再输入要删除的目录名,按下回车键,系统就会删除该目录。

7. ren。

ren命令用于重命名文件或目录。

比如,要将F盘下的test.txt文件重命名为new.txt,可以在命令行中输入ren f:\test.txt new.txt,然后按下回车键,系统就会将test.txt文件重命名为new.txt。

8. type。

type命令用于查看文本文件的内容。

在命令行中输入type后,再输入要查看的文本文件名,按下回车键,系统就会显示该文本文件的内容。

JAVA中如何执行DOS命令

JAVA中如何执行DOS命令

JAVA中如何执行DOS命令JAVA中如何执行DOS命令如果要执行一条DOS内部命令,有两种方法。

一种方法是把命令解释器包含在exec()的参数中。

另一种方法是,把内部命令放在一个批命令my_dir.bat文件中,在Java程序中写成exec("my_dir.bat")。

下面是店铺为大家带来的关于JAVA中如何执行DOS命令的知识,欢迎阅读。

JAVA中如何执行DOS命令下面是一种比较典型的程序模式:Process process = Runtime.getRuntime().exec(".p.exe");process.waitfor( );在上面的程序中,第一行的“.p.exe”是要执行的程序名,Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。

通过Process可以控制该子进程的执行或获取该子进程的信息。

第二条语句的目的等待子进程完成再往下执行。

但在windows平台上,如果处理不当,有时并不能得到预期的结果。

下面是笔者在实际编程中总结的几种需要注意的情况:1、执行DOS的内部命令如果要执行一条DOS内部命令,有两种方法。

一种方法是把命令解释器包含在exec()的参数中。

例如,执行dir命令,在NT上,可写成exec("cmd.exe /c dir"),在windows 95/98下,可写成“command.exe /c dir”,其中参数“/c”表示命令执行后关闭Dos 立即关闭窗口。

另一种方法是,把内部命令放在一个批命令my_dir.bat文件中,在Java程序中写成exec("my_dir.bat")。

如果仅仅写成exec("dir"),Java虚拟机则会报运行时错误。

实验一 熟悉运行环境

实验一 熟悉运行环境

实验一熟悉运行环境一、实验目的二、实验过程1、Java对我们来说,是一门新的编程语言。

它也有自己的运行环境和编程软件。

因此,第一节实习课,我们先要熟悉Java的运行环境之一——在DOS命令行下运行程序;2、虽然Java对我们来说是一门新的编程语言,但是还是和C或者C++有相同的地方。

在学习当中,我们首先接触的第一个程序还是就简单的的“Hello World!”;3、要是在DOS命令行下运行Java程序,我们首先应当在记事本中写上程序的源代码,并将本源代码以.java形式存放在文件夹中;4、将本代码以.java的形式存放后,我们就可以将本代码在DOS 环境下运行。

首先,应指明代码所保存的路径(e:);打开所存放的文件夹Java(cd Java);对Hello.java文件进行编译(javac Hello.java);待编译正确后,运行本文件(java Hello);5、上面这个就是我们最简单Java程序在DOS环境下的编写源代码、调试、编译和运行的全过程;6、我们进一步对在DOS环境下运行程序的方法进行实践。

在简单程序的基础上,给程序加上一个包。

建立一个记事本,写上源代码并保存成.java文件;7、首先与前面的一样,要将文件现在文件夹中保存好,然后再运行。

应指明代码所保存的路径(e:);打开所存放的文件夹Java和Test(cd Java和cd Test);对Test.java文件进行编译,编译过程中要在相应文件夹中产生新的文件夹cn(javac -d . *.java);运行主类Example (java .Example),产生运行结果;8、以上就是我们在第一节实习课中,在熟悉环境的同时所运行的程序。

三、实验心得在本节实习课的学习中,我们熟悉了怎样在DOS命令行中运行带包的程序和不带包的程序;并且,学会了一些故障的处理方式并熟悉了DOS命令行中实现的方式。

DOS操作系统

DOS操作系统
计算机中所有的信息都是以文件形式保存在
磁盘上,这样磁盘上的文件很多,并且随着 时间的推移,文件还会越来越多,如何才能 管理好这些杂乱的文件呢? 目录(文件夹)是存放文件的地方,当一个 目录(文件夹)里的文件太多时,还可以在 目录(文件夹)下再添加小的目录(文件 夹)。
DOS以目录树的形式管理磁盘,目录是一层一层的, 构成一个树的形式。在一个盘符中最底层的目录为 根目录,根目录下的目录都称为它的子目录。 根目录用"\"表示 一个目录的上一层目录用".."表示 我们可以通过路径来查找某一个文件或目录,路径 就如同地址一样,可以使用户方便、准确地进行查 找。比如"C:\Windows\Command\deltree.exe"就是 一个文件的路径。 在同一个目录下,不允许存在相同名称的文件或目 录。

扩展名,用于标识文件的类型
扩展名
EXE
文件类型
可执行程序文件
扩展名
TXT
文件类型
文本文件
COM
BAT DOC PPT HTML
可执行命令文件
批处理文件 Word文件 PowerPoint文件 网页文件
DAT
BAK XLS MDB RAR
数据文件
备份文件 Excel文件 Access文件 压缩文件
D:\>
④在D:\目录下新建our\my目录(our目录不存
在)
D:\>
7.删除文件命令DEL
C:\MY>


③在C:盘中查找LX.txt在哪个目录下
C:\Windows>
④显示D:盘上所有EXE文件
D:\>
⑤在C:\User中查找所有以A开头的Excel文件

Java如何调用可执行文件和批处理命令

Java如何调用可执行文件和批处理命令

Java如何调用可执行文件和批处理命令●篇一Java 是种跨平台的语言,我们经常碰到需要通过Java调用windows下某些程序。

有些第三方厂商如(ANT),也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令。

而java 却不提供。

这里,我采用一种变相的调用方法,使得Java 能调用批处理命令。

如果您有更好的方法,希望您能告诉我。

前期准备[/B]Quick Batch File (De)Compiler将任何BAT、CMD批处理脚本编译为EXE文件!开始1.运行exe 文件Java JDK里已经提供了调用的方法,不在累赘,代码如下。

try {String command = "notepad";Process child = Runtime.getRuntime().exec(command);} catch (IOException e) {}2.运行bat(批处理)文件Java 对批处理文件还不支持。

刚开始一直在研究Java 如何调用批处理文件,始终找不到解决方法。

后来只好绕过批处理,考虑如何将批处理转换为exe可执行文件。

然后再通过Java调用可执行文件。

在Google上搜索一下,找到Quick Batch File (De)Compiler,可以将任何BAT、CMD批处理脚本编译为EXE文件。

使用了一下,果然可以。

Quick Batch File (De)Compiler使用非常简单:Quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)然后,我们再按第一种方法通过Java 调用,即可。

●篇二由于java 是跨平台的,有时候我们需要用到操作系统的一些信息,为了方便期间,干脆就直接调用操作系统的命令来实现,比如查看IP地址,MAC地址等。

java如何连续执行多条cmd命令

java如何连续执行多条cmd命令

java如何连续执⾏多条cmd命令java连续执⾏多条cmd命令命令之间⽤&连接例如:Process p = Runtime.getRuntime().exec("cmd /c d: & cd bin/");java ssh登录执⾏多条cmd命令java登录ssh执⾏多条命令,解决出现more⾃动回车的问题import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import com.jcraft.jsch.Channel;import com.jcraft.jsch.JSch;import com.jcraft.jsch.JSchException;import com.jcraft.jsch.Session;import com.jcraft.jsch.UIKeyboardInteractive;import erInfo;public class JavaSsh implements Runnable {protected Logger logger = LogManager.getLogger();/*** 退格*/private static final String BACKSPACE = new String(new byte[] { 8 });/*** ESC*/private static final String ESC = new String(new byte[] { 27 });/*** 空格*/private static final String BLANKSPACE = new String(new byte[] { 32 });/*** 回车*/private static final String ENTER = new String(new byte[] { 13 });/*** 某些设备回显数据中的控制字符*/private static final String[] PREFIX_STRS = { BACKSPACE + "+" + BLANKSPACE + "+" + BACKSPACE + "+", "(" + ESC + "\\[\\d+[A-Z]" + BLANKSPACE + "*)+" };private int sleepTime = 200;/*** 连接超时(单次命令总耗时)*/private int timeout = 4000;/*** 保存当前命令的回显信息*/protected StringBuffer currEcho;/*** 保存所有的回显信息*/protected StringBuffer totalEcho;private String ip;private int port;private String endEcho = "#,?,>,:";private String moreEcho = "---- More ----";private String moreCmd = BLANKSPACE;private JSch jsch = null;private Session session;private Channel channel;@Overridepublic void run() {InputStream is;try {is = channel.getInputStream();String echo = readOneEcho(is);while (echo != null) {currEcho.append(echo);String[] lineStr = echo.split("\\n");if (lineStr != null && lineStr.length > 0) {String lastLineStr = lineStr[lineStr.length - 1];if (lastLineStr != null && lastLineStr.indexOf(moreEcho) > 0) {totalEcho.append(echo.replace(lastLineStr, ""));} else {totalEcho.append(echo);}}echo = readOneEcho(is);}} catch (IOException e) {e.printStackTrace();}}protected String readOneEcho(InputStream instr) {byte[] buff = new byte[1024];int ret_read = 0;try {ret_read = instr.read(buff);} catch (IOException e) {return null;}if (ret_read > 0) {String result = new String(buff, 0, ret_read);for (String PREFIX_STR : PREFIX_STRS) {result = result.replaceFirst(PREFIX_STR, "");}try {return new String(result.getBytes(), "GBK");} catch (UnsupportedEncodingException e) {e.printStackTrace();return null;}} else {return null;}}public JavaSsh(String ip, int port, String endEcho, String moreEcho) { this.ip = ip;this.port = port;if (endEcho != null) {this.endEcho = endEcho;}if (moreEcho != null) {this.moreEcho = moreEcho;}totalEcho = new StringBuffer();currEcho = new StringBuffer();}private void close() {if (session != null) {session.disconnect();}if (channel != null) {channel.disconnect();}private boolean login(String[] cmds) {String user = cmds[0];String passWord = cmds[1];jsch = new JSch();try {session = jsch.getSession(user, this.ip, this.port);session.setPassword(passWord);UserInfo ui = new SSHUserInfo() {public void showMessage(String message) {}public boolean promptYesNo(String message) {return true;}};session.setUserInfo(ui);session.connect(30000);channel = session.openChannel("shell");channel.connect(3000);new Thread(this).start();try {Thread.sleep(sleepTime);} catch (Exception e) {}return true;} catch (JSchException e) {return false;}}protected void sendCommand(String command, boolean sendEnter) { try {OutputStream os = channel.getOutputStream();os.write(command.getBytes());os.flush();if (sendEnter) {currEcho = new StringBuffer();os.write(ENTER.getBytes());os.flush();}} catch (IOException e) {e.printStackTrace();}}protected boolean containsEchoEnd(String echo) {boolean contains = false;if (endEcho == null || endEcho.trim().equals("")) {return contains;}String[] eds = endEcho.split(",");for (String ed : eds) {if (echo.trim().endsWith(ed)) {contains = true;break;}}return contains;}private String runCommand(String command, boolean ifEnter) {currEcho = new StringBuffer();sendCommand(command, ifEnter);int time = 0;if (endEcho == null || endEcho.equals("")) {while (currEcho.toString().equals("")) {try {Thread.sleep(sleepTime);time += sleepTime;if (time >= timeout) {break;}} catch (InterruptedException e) {e.printStackTrace();} else {while (!containsEchoEnd(currEcho.toString())) {try {Thread.sleep(sleepTime);} catch (InterruptedException e) {e.printStackTrace();}time += sleepTime;if (time >= timeout) {break;}String[] lineStrs = currEcho.toString().split("\\n");if (lineStrs != null && lineStrs.length > 0) {if (moreEcho != null && lineStrs[lineStrs.length - 1] != null&& lineStrs[lineStrs.length - 1].contains(moreEcho)) {sendCommand(moreCmd, false);currEcho.append("\n");time = 0;continue;}}}}return currEcho.toString();}private String batchCommand(String[] cmds, int[] othernEenterCmds) {StringBuffer sb = new StringBuffer();for (int i = 2; i < cmds.length; i++) {String cmd = cmds[i];if (cmd.equals("")) {continue;}boolean ifInputEnter = false;if (othernEenterCmds != null) {for (int c : othernEenterCmds) {if (c == i) {ifInputEnter = true;break;}}}cmd += (char) 10;String resultEcho = runCommand(cmd, ifInputEnter);sb.append(resultEcho);}close();return totalEcho.toString();}public String executive(String[] cmds, int[] othernEenterCmds) {if (cmds == null || cmds.length < 3) {logger.error("{} ssh cmds is null", this.ip);return null;}if (login(cmds)) {return batchCommand(cmds, othernEenterCmds);}logger.error("{} ssh login error", this.ip);return null;}private abstract class SSHUserInfo implements UserInfo, UIKeyboardInteractive { public String getPassword() {return null;}public boolean promptYesNo(String str) {return true;}public String getPassphrase() {return null;}public boolean promptPassphrase(String message) {return true;}public boolean promptPassword(String message) {return true;}public void showMessage(String message) {}public String[] promptKeyboardInteractive(String destination, String name, String instruction, String[] prompt, boolean[] echo) {return null;}}public static void main(String[] args) {String ip = "192.168.0.238";int port = 22;JavaSsh JavaSsh2 = new JavaSsh(ip, port, null, null);String username = "ssh";String password = "";String[] cmds = { username, password, "display mac-address", "display mac-address" };String executive = JavaSsh2.executive(cmds, null);System.out.println(executive);}}以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

JAVA程序命令行下的执行

JAVA程序命令行下的执行

JAVA程序命令行下的执行在Java中,可以使用命令行来执行程序。

命令行执行Java程序的主要步骤包括编写代码、编译代码、运行程序。

第一步:编写代码```javapublic class HelloWorldpublic static void main(String[] args)System.out.println("Hello, World!");}```上面的代码定义了一个名为 "HelloWorld" 的公共类,并在该类中定义了一个名为 "main" 的公共静态方法。

该方法打印输出 "Hello, World!"。

第二步:编译代码接下来,你需要使用Java编译器(javac)将Java源代码(.java 文件)编译成Java字节码(.class文件)。

打开命令行终端,并定位到存储你的Java程序源代码文件的目录。

运行以下命令来编译Java程序:```javac HelloWorld.java```这个命令将调用Java编译器来编译 "HelloWorld.java" 文件。

如果编译成功,会在同一目录下生成一个名为 "HelloWorld.class" 的字节码文件。

第三步:运行程序编译成功后,你可以使用Java虚拟机(JVM)来运行编译后的字节码文件。

在命令行中,运行以下命令:```java HelloWorld```这将运行Java虚拟机,并执行名为 "HelloWorld" 的类中的 "main" 方法。

输出应为 "Hello, World!"。

如果你的程序需要命令行参数,你可以在运行Java命令时提供它们。

例如,你可以运行以下命令:```java HelloWorld arg1 arg2```这将在运行 "HelloWorld" 类的 "main" 方法时将 "arg1" 和"arg2" 作为参数传递给程序。

DOS命令及使用方法

DOS命令及使用方法

DOS命令及使用方法DOS(Disk Operating System)是一种操作系统,在计算机历史上具有重要的地位。

它最初由IBM推出,用于早期的个人电脑,特别是IBM PC。

DOS操作系统以命令行界面的形式提供给用户,用户通过输入命令来与计算机进行交互和控制。

以下是一些常见的DOS命令及其使用方法。

1. Dir:显示当前目录中的文件和文件夹。

示例:dir C:\2.Cd:更改当前目录。

用法:cd [drive:][path]示例:cd C:\Windows3.Md:创建新的目录。

用法:md [drive:]path示例:md C:\NewFolder4.Rd:删除目录。

用法:rd [drive:]path示例:rd C:\OldFolder5. Copy:复制文件。

用法:copy[drive1:][path1]filename1[drive2:][path2]filename2 [/V][/Y,/-Y]示例:copy C:\file.txt D:\backup\file.txt6. Del:删除文件。

用法:del [/P][/F] [/S] [/Q] [/A[[:]attributes]] filenames 示例:del C:\file.txt7. Ren:重命名文件。

用法:ren [drive:][path]filename1 filename2示例:ren C:\oldfile.txt newfile.txt8. Type:显示文本文件的内容。

用法:type [drive:][path]filename示例:type C:\textfile.txt9. Date:显示或设置系统日期。

用法:date [/T] [/D[date]]示例:date10. Time:显示或设置系统时间。

11. Chkdsk:检查磁盘或磁盘分区的错误。

用法:chkdsk [drive:][/F][/V][/R][/X][/I]示例:chkdsk C:12. Format:格式化磁盘。

java调用CMD命令方法详解

java调用CMD命令方法详解

可以用cmd /?查看帮助信息。
★CMD命令★
1. gpedit.msc-----组策略
2. sndrec32-------录音机
3. Nslookup-------IP地址侦测器
4. explorer-------打开资源管理器
5. logoff---------注销命令
79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
80. services.msc---本地服务设置
81. Sndvol32-------音量控制程序
82. sfc.exe--------系统文件检查器
83. sfc /scannow---windows文件保护
67. nslookup-------网络管理的工具向导
68. ntbackup-------系统备份和还原
69. narrator-------屏幕“讲述人”
70. ntmsmgr.msc----移动存储管理器
71. ntmsoprq.msc---移动存储管理员操作请求
72. netstat -an----(TC)命令检查接口
40. wmimgmt.msc----打开windows管理体系结构(WMI)
41. wupdmgr--------windows更新程序
42. wscript--------windows脚本宿主设置
43. write----------写字板
44. winmsd---------系统信息
29. rsop.msc-------组策略结果集
30. mem.exe--------显示内存使用情况

dos命令大全及用法

dos命令大全及用法

dos命令大全及用法DOS命令大全及用法。

DOS(Disk Operating System)是一种磁盘操作系统,它是早期个人计算机上广泛使用的操作系统。

虽然现在的操作系统已经发展到了Windows、macOS和Linux等,但是对于一些老旧的系统或者一些特殊的需求,我们仍然需要了解和使用DOS命令。

下面,我将为大家介绍一些常用的DOS命令及其用法。

1. dir。

dir命令是列出当前目录下的文件和子目录的命令,使用方法非常简单,只需要在命令行中输入dir并按下回车即可。

dir命令还可以搭配一些参数来实现不同的功能,比如dir /w可以使文件列表以宽格式显示,dir /p可以分屏显示文件列表等。

2. cd。

cd命令是改变当前目录的命令,使用方法为cd 目录名,比如cd documents即可进入documents目录。

如果需要返回上一级目录,可以使用cd ..命令。

此外,cd命令还可以搭配一些特殊的符号来实现快速切换目录,比如cd /d可以切换到指定盘符下的目录。

3. copy。

copy命令是复制文件的命令,使用方法为copy 源文件目标文件,比如copyfile1.txt d:\backup\file1.txt即可将file1.txt复制到d盘的backup目录下。

copy命令还可以搭配一些参数来实现不同的功能,比如copy /y可以覆盖目标文件而不提示确认。

4. del。

del命令是删除文件的命令,使用方法为del 文件名,比如del file1.txt即可删除file1.txt文件。

如果需要删除目录,可以使用rd命令。

需要注意的是,删除操作是不可逆的,所以在使用del命令时要格外小心。

5. ren。

ren命令是重命名文件的命令,使用方法为ren 原文件名新文件名,比如ren file1.txt file2.txt即可将file1.txt重命名为file2.txt。

ren命令也可以用来移动文件,只需要将新文件名的路径写上即可实现移动功能。

Javajar在Windows上运行的方法

Javajar在Windows上运行的方法

Javajar在Windows上运⾏的⽅法 本⽂列出Java jar包在windows系统上运⾏的三种⽅式。

CMD命令⾏⽅式运⾏ 这种⽅式⾮常简单,打开cmd窗⼝,输⼊如下命令即可:java -jar test.jar使⽤批处理脚本运⾏ 使⽤cmd命令⾏⽅式虽然很简单,但是每次都要打开cmd窗⼝再输⼊命令,还是有些⿇烦,可以写个批处理脚本来代替。

先创建个bat⽂件,⽐如:run.bat,输⼊下⾯⼏⾏:@echo offstart javaw -jar C:\Users\samsung\Desktop\test.jarexit 保存后,双击运⾏即可。

其中,@echo off:当执⾏失败的时候,不打印失败信息,根据⾃⼰需要选⽤。

作为Windows服务在后台运⾏ Java jar 作为Windows服务在后台运⾏需要借助于第三⽅⼯具,常⽤的是JavaService.exe这个⼯具,下载地址:,64位系统(Java也是64位的)的话必须下载64位版本,⽐如:JavaService_2_0_10-amd64.zip。

要以Windows服务⽅式运⾏需要先注册Windows服务,然后才能启动服务。

注册服务 下载的压缩包解压后即可使⽤,打开CMD窗⼝,进⼊JavaService.exe所在⽬录,输⼊如下命令:JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll -Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M -start org.springframework.boot.loader.JarLauncher 显⽰如下结果即为注册成功:C:\Users\samsung\Desktop>JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll-Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M-start org.springframework.boot.loader.JarLauncherThe test automatic service was successfully installed 参数解释: -install test:指定服务名,当前注册的服务名为:test; -Djava.class.path=C:\Users\samsung\Desktop\test.jar:指定jar包的路径; -start org.springframework.boot.loader.JarLauncher:指定启动类,即 main 函数所在类,需要带上包名。

执行多条dos语句的方法

执行多条dos语句的方法

执行多条dos语句的方法
在Windows操作系统中,你可以使用命令提示符(Command Prompt)来执行多条DOS语句。

以下是执行多条DOS语句的几种方法:
1. 使用分号(;)分隔语句:在命令提示符下,你可以在一行中输入多个DOS语句,使用分号将它们分隔开。

例如:
```bash
cd C:\Users\Username\Documents; dir
```
上述命令将切换到"C:\Users\Username\Documents"目录,并列出其中的文件和文件夹。

2. 使用批处理文件(.bat):你可以创建一个批处理文件(扩展名为.bat),在该文件中编写多个DOS语句,然后双击该文件来执行它们。

例如,创建
一个名为""的批处理文件,并在其中添加以下内容:
```batch
echo off
cd C:\Users\Username\Documents
dir
```
保存文件后,双击"",它将执行其中的所有DOS语句。

3. 使用命令提示符的自动完成功能:在命令提示符下,你可以输入命令的前几个字符,然后按Tab键,它将自动补全命令并显示可用的选项。

例如,输入"cd Doc"并按Tab键,它将自动补全为"cd Documents"。

你还可以在自动完成的基础上继续输入其他命令。

这些方法可以帮助你在命令提示符下执行多条DOS语句。

根据你的需求和偏好,选择适合你的方法来执行多条DOS语句。

Dos操作Java文件

Dos操作Java文件

Dos操作Java文件目录一.编写java 文件二.将.java 文件编译成.class 文件三.执行.class 文件四.将.class 文件打包成.jar 文件五.执行.jar文件六.执行带有第三方jar文件的jar文件实现一.编写java 文件1.新建一个T est.java文件,编写内容如下:public class Test {public static void main(String[] args) {System.out.println("hello World!");}}2.将T est.java文件放到e:\zc目录中。

二.将.java 文件编译成.class 文件1.cmd进入dos 命令窗口。

如下图所示:2.进入e:\zc 目录。

如下图所示:2.执行javac .java文件dos命令(这里的.java文件是T est.java) 将T est.java文件编译成T est.class文件。

如下图所示:3.打开e:\zc目录或执行dir dos命令查看是否编译成功。

如下图所示:三.执行.class 文件1.执行java .class文件名称dos命令(这里的.class 文件名称是T est)如下图所示:Java JDK 配置如下:JA V A_HOME D:\Program Files\Java\jdk1.6.0_30PA TH %JA V A_HOME%\binCLASSPA TH %JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jarJava 版本:执行失败,不知道是什么原因。

四.将.class 文件打包成.jar 文件1.执行jar cvf 名称.jar文件.class文件dos命令(这里的名称.jar文件是test.jar, .class文件是T est.class)将.class 文件打包成.jar文件。

Java上机实验指导书

Java上机实验指导书
intnumber=random.nextInt(100)+1;//random.nextInt(100)产生[0,100)中的随机整数
intyourGuess=0;
System.out.println("输入你的猜测");
yourGuess=reader.nextInt();
while([代码1])
System.out.println(“tank2目前的速度:”+tank2.getSpeed());
System.out.println(“tank1开火:”);
tank1.fire();
System.out.println(“tank2开火);
tank2.fire();
tank2.fire();
图1-5
(三)使用EditPlus
要编写Java程序,需要有文本编辑器。可以使用操作系统提供的记事本作为编辑器,最好选择EditPlus编辑软件,它可以使用不同颜色显示Java的关键字和类名,简单好用,同时可以对程序进行编译和运行。
1.下载并安装EditPlus编辑软件EditPlus编辑软件的安装方法很简单,安装软件提示要求去做即可。
1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。
2.键入编译命令和要谝译的源程序文件名,
javac Hello.java
按回车键开始执行(注意:文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个同名字的.class文件“Hello. class”,如图1-7所示。否则,将显示出错信息。
}
}
System.out.println("猜对了;");

DOS命令及使用方法

DOS命令及使用方法

DOS命令及使用方法DOS (Disk Operating System) 是早期个人计算机操作系统,用于管理系统硬盘、文件和文件夹。

DOS命令是在DOS操作系统下使用的命令行命令,它们用于执行各种操作,包括文件和目录管理、系统设置、网络配置和应用程序运行。

下面是一些常用的DOS命令及其使用方法。

1. dir 命令:用于列出当前目录下的文件和子目录。

可以使用dir命令来查看目录内容,并根据文件扩展名、时间日期等进行过滤。

2. cd 命令:用于更改当前目录。

可以使用cd命令进入其他目录或返回上一级目录。

3. md 命令:用于创建新目录。

可以使用md命令创建一个新的文件夹。

4. rd 命令:用于删除目录。

可以使用rd命令删除一个空的文件夹。

5. copy 命令:用于复制文件。

可以使用copy命令将文件从一个地方复制到另一个地方。

6. move 命令:用于移动文件。

可以使用move命令将文件从一个目录移动到另一个目录。

7. del 命令:用于删除文件。

可以使用del命令删除一个或多个文件。

8. ren 命令:用于重命名文件。

可以使用ren命令将文件重命名。

9. type 命令:用于显示文本文件的内容。

可以使用type命令查看文本文件的内容。

10. cls 命令:用于清屏。

可以使用cls命令清空当前命令行窗口的内容。

11. exit 命令:用于退出DOS命令行界面。

12. format 命令:用于格式化磁盘。

可以使用format命令来格式化硬盘驱动器,以便在其上创建新的文件系统。

13. chkdsk 命令:用于检查硬盘驱动器的错误。

可以使用chkdsk命令来扫描并修复硬盘驱动器上的错误。

14. ipconfig 命令:用于获取与网络连接相关的信息。

可以使用ipconfig命令来查看IP地址、子网掩码、默认网关等网络配置信息。

15. ping 命令:用于测试与另一个主机的连接。

可以使用ping命令来发送网络请求并接收对方的响应。

dos命令set用法

dos命令set用法

dos命令set用法DOS命令set用法在计算机世界中,DOS(磁盘操作系统)作为操作系统的一种,常常被用于管理和操作计算机的文件和软件。

其中,DOS命令set 是一种常用的命令,它可以用来设置和显示环境变量。

本文将详细介绍DOS命令set 的用法,一步一步回答有关set命令的常见问题。

第一步:什么是环境变量?在了解DOS命令set的用法之前,我们需要明确什么是环境变量。

环境变量是操作系统运行时使用的一类特殊变量,它们存储着一些重要的信息,例如系统路径、临时文件夹等。

通过设置环境变量,我们可以让计算机运行某些程序或访问特定的文件路径更加方便。

第二步:如何使用set命令设置环境变量?要使用set命令设置环境变量,我们需要打开命令提示符(命令行界面)。

在Windows操作系统中,可以按下Win键+R组合键,在运行对话框中输入cmd,然后回车,即可打开命令提示符。

接下来,在命令提示符窗口中,我们可以通过以下语法使用set命令来设置环境变量:set 变量名=变量值其中,变量名是我们希望设置的环境变量的名称,而变量值则是我们想要赋予给该变量的值。

下面是一个设置环境变量的实际示例:set PATH=C:\Program Files\Java\jdk1.8.0_261\bin;PATH上面的命令将PATH环境变量设置为包含Java JDK的安装路径。

注意,PATH是一个特殊的环境变量,它存储了操作系统查找可执行文件的路径。

通过在环境变量的值中使用“;”分隔不同的路径,我们可以实现将多个路径都添加到PATH中。

第三步:如何使用set命令显示环境变量?除了可以使用set命令来设置环境变量,我们还可以使用它来显示已经设置的环境变量。

使用下面的语法:set 变量名例如,我们可以使用以下命令来显示PATH环境变量的值:set PATH这样,命令提示符会输出PATH环境变量的值,并显示在屏幕上。

第四步:set命令的其他用途除了可以用来设置和显示环境变量之外,set命令还有一些其他的用途。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java打印当前局域网中链接的主机信息
public class Test2 {
public static void main(String[] args) throws IOException { String[] cmd = new String[3];
cmd[0] = "cmd.exe";
cmd[1] = "/c";
cmd[2] = "arp -a";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
InputStream isInputStreamReader= proc.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(isInputStreamReader));
String length=null;
int i=0;
while((length=bufferedReader.readLine())!=null)
{
System.out.println(length);
i++;
}
}
}
Process exec(String command)
在单独的进程中执行指定的字符串命令。

Process exec(String[] cmdarray)
在单独的进程中执行指定命令和变量。

Process exec(String[] cmdarray, String[] envp)
在指定环境的独立进程中执行指定命令和变量。

Process exec(String[] cmdarray, String[] envp, File dir)
在指定环境和工作目录的独立进程中执行指定的命令和变量。

Process exec(String command, String[] envp)
在指定环境的单独进程中执行指定的字符串命令。

Process exec(String command, String[] envp, File dir)
在有指定环境和工作目录的独立进程中执行指定的字符串命令。

abstract In putStream getErrorStream()
获取子进程的错误流。

abstract In putStream getInputStream()
获取子进程的输入流。

abstract Ou tputStream getOutputStream()
获取子进程的输出流。

本实例简单用java实现了win7下的cmd.exe中的命令的输出。

public class Test2 {
public static void main(String[] args) throws IOException { String[] cmd = new String[3];
cmd[0] = "cmd.exe";
cmd[1] = "/c";
while(true)
{
System.out.println("输入你要运行的dos命令");
//对于简单的一个命令可以使用Scanner来接收用户的输入但是对于有参数的命令就不能使用它。

而是使用流来操作
// Scanner scanner=new Scanner(System.in);
//使用流来操作避免用户输入用参数的命令
InputStreamReader IS=new InputStreamReader(System.in);
BufferedReader BR=new BufferedReader(IS);
cmd[2]=BR.readLine();
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
InputStream isInputStreamReader= proc.getInputStream();
new Thread1(isInputStreamReader).start();
//线程让出资源
try {
Thread.currentThread().sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Thread1 extends Thread
{
private InputStream is;
public Thread1(InputStream is) {
this.is=is;
}
public void run()
{
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String Length=null;
try {
while((Length=br.readLine())!=null)
{
System.out.println(Length);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
用户可以输入dos命令带参数的命令。

相关文档
最新文档