【微信Java开发 --1---番外1】在windows下,使用JAVA执行多条DOS命令+文件夹/路径中有空格怎么解决【目的是实现内容穿透外网】
2016-10-26 14:14
891 查看
内网穿透外网的那一篇,参正集1
但是每次都要Ctrl+R 启动DOS窗口,也就是CMD,一句一句的去粘,略显繁琐。
所以将这些任务写在JAVA程序中,启动一次程序就可以实现【内网穿透】的功能,多好啊!
首先把流程走一遍
1.D盘存放内网穿透工具 ,那就在D盘新建一个文件夹,用于存放bat文件的,起名字叫run cmd
2.在run cmd中新建一个文本文件
在新建的文本文件中粘贴如下的代码:
已经走过内网穿透过程的 ,应该对 这段比较熟悉。
echo DOS命令,表示cmd启动的以下的dos命令都是显示的状态
d: DOS命令,表示进入d盘
cd ngrok_windows DOS命令,进入d:盘下的ngrok_windows文件夹
下面的两行在【正篇1】中有解释
pause DOS命令,点击bat文件就可以直接启动cmd.exe,从而启动DOS窗口,但是会闪一下就没了,你可以试一下,加上pause之后可以起到暂停的作用
3.将这个a.txt文本文件更改为a.bat文件
4.新建java一个类,放入以下代码:
其中,刚刚的文件夹名中带有空格即: run cmd文件夹
这在java中无法识别,必须将其进行
但是每次都要Ctrl+R 启动DOS窗口,也就是CMD,一句一句的去粘,略显繁琐。
所以将这些任务写在JAVA程序中,启动一次程序就可以实现【内网穿透】的功能,多好啊!
首先把流程走一遍
1.D盘存放内网穿透工具 ,那就在D盘新建一个文件夹,用于存放bat文件的,起名字叫run cmd
2.在run cmd中新建一个文本文件
在新建的文本文件中粘贴如下的代码:
echo d: cd ngrok_windows natapp -config ngrok.cfg -subdomain zjlm 80 natapp -authtoken=0931c612e83742ec pause
已经走过内网穿透过程的 ,应该对 这段比较熟悉。
echo DOS命令,表示cmd启动的以下的dos命令都是显示的状态
d: DOS命令,表示进入d盘
cd ngrok_windows DOS命令,进入d:盘下的ngrok_windows文件夹
下面的两行在【正篇1】中有解释
pause DOS命令,点击bat文件就可以直接启动cmd.exe,从而启动DOS窗口,但是会闪一下就没了,你可以试一下,加上pause之后可以起到暂停的作用
3.将这个a.txt文本文件更改为a.bat文件
4.新建java一个类,放入以下代码:
import java.io.IOException; /** * Java调用windows的DOS命令 */ public class RunWindowsCommand{ public static void main(String[] args) throws InterruptedException { try { String cmd = "cmd /c start "+"D:/run cmd/a.bat".replaceAll(" ", "\" \""); Runtime.getRuntime().exec(cmd) ; } catch (IOException e) { e.printStackTrace(); } } }
其中,刚刚的文件夹名中带有空格即: run cmd文件夹
这在java中无法识别,必须将其进行
.replaceAll(" ", "\" \"");处理,才可以。 5.效果图如下:
再来看看原理如何 1.首先cmd.exe程序执行DOS命令就是调用一个一个的bat文件 2.bat文件中存放的就是DOS命令,可以是一条,也可以是多条 3.java程序要做的就是启动cmd.exe,找到.bat文件,运行它
相关文章推荐
- Java微信二次开发之17-再次使用百度翻译api超链接实现对文本内容翻译并推送
- Java微信二次开发之6-文本消息体内容换行的使用
- spring,springMVC的优点和区别 spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下 ◆目的:解决企业应用开发的复杂性 ◆功能:使用基本的JavaBean代替EJB,并
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- 微信应用开发测试解决80端口问题(ngrok实现外网访问)
- java使用dos命令打开路径中含有空格的文件
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- java实现阶乘的计算,抛出异常不会,怎么使用标号跳转,需要帮解决一下
- 使用纯Java开发一款Google支付回调http服务器,并打包成windows可执行文件(.exe)
- 使用Java进行微信开发 2 - 实现微信与自己的服务器的互联
- java实现数据库备份和恢复源码---解决路径带空格引发的问题
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- CMS内容管理系统开发- Java Web开发及发布实例(2)—使用JSP实现动态数据交互
- Java使用Runtime.exec无法打开路径带空格的文件(报错)的解决办法
- 在windows开发环境中,java代码中使用linux格式路径的方法需要注意的问题
- 在windows开发环境中,java代码中使用linux格式路径的方法需要注意的问题
- 搭建属于自己的ngrok服务器,实现内网穿透,外网访问内网,可本地开发微信不需要上传服务器
- javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法
- 解决Java程序的托盘图标在Windows任务栏重建后丢失的问题(使用SystemTray类创建托盘图标)
- 在windows上使用cwRsync实现文件夹双向同步