开发者社区> angel挤一挤> 正文

【微信Java开发 --1---番外1】在windows下,使用JAVA执行多条DOS命令+文件夹/路径中有空格怎么解决【目的是实现内容穿透外网】

简介: 内网穿透外网的那一篇,参正集1 但是每次都要Ctrl+R 启动DOS窗口,也就是CMD,一句一句的去粘,略显繁琐。 所以将这些任务写在JAVA程序中,启动一次程序就可以实现【内网穿透】的功能,多好啊!   首先把流程走一遍 1.
+关注继续查看

内网穿透外网的那一篇,参正集1

但是每次都要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每日一练(20230508) Excel表列名称、验证回文串、路径总和II
Java每日一练(20230508) Excel表列名称、验证回文串、路径总和II
19 0
Java每日一练(20230505) 递增路径、编辑距离、数据流
Java每日一练(20230505) 递增路径、编辑距离、数据流
21 0
Java操作oracle数据库提示:不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK,问题处理
Java操作oracle数据库提示:不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK,问题处理
38 0
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化6
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
23 0
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化5
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
24 0
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化4
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
19 0
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化3
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
33 0
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化2
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
27 0
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
Java 编程问题:六、Java I/O 路径、文件、缓冲区、扫描和格式化
18 0
JAVA读取绝对路径文件和项目类路径下的文件的方法
JAVA读取绝对路径文件和项目类路径下的文件的方法
381 0
二叉树中和为某一值的路径(剑指offer34 力扣113)Java深度优先遍历
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。
23 0
JAVA:获得当前执行路径的办法
JAVA:获得当前执行路径的办法
54 0
LeetCode:62.不同路径(Java语言)
LeetCode:62.不同路径(Java语言)
27 0
微信小程序之JAVA后台上传图片,并且返回图片路径
微信小程序之JAVA后台上传图片,并且返回图片路径
185 0
JAVA运行时,获取运行路径和JRE路径
JAVA运行时,获取运行路径和JRE路径
46 0
+关注
angel挤一挤
【任何0基础都能看懂的步骤和解决方法!】
文章
问答
视频
相关课程
更多
相关电子书
更多
JAVA开发手册1.5.0
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多