【微信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文件,运行它

 

相关文章
|
1月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
2天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
16天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
80 34
|
24天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
46 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
12天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
71 13
|
17天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
51 10
|
10天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
48 2
|
20天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
1月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
51 2
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
72 1