使用批处理选择运行控制台程序(简易cui)
批处理可以用于启动一些控制台程序.昨天在github上找到一个有意思的项目OpenRA : 一个开源的红警游戏.
发现该游戏的启动程序(launch-game)是用批处理写的
就学习了下
*没有玩过批处理的小哥哥 可以看一下这篇文章 https://blog.csdn.net/qq_36838191/article/details/83046599
部分源码:
:choosemod
set /P mod=Select mod (ra, cnc, d2k, ts) or --exit:
if /I "%mod%" EQU "--exit" (exit /b)
if "%mod%" EQU "ra" (goto launchmod)
if "%mod%" EQU "cnc" (goto launchmod)
if "%mod%" EQU "ts" (goto launchmod)
if "%mod%" EQU "d2k" (goto launchmod)
echo.
echo Unknown mod: %mod%
echo.
goto choosemod :launchmod
OpenRA.Game.exe Game.Mod=%mod% %*
goto end
:launch
OpenRA.Game.exe %*
这里使用了 "select" and "goto"
根据这个模子,我将几个测试的批处理合并了下.
路径:
D:\CCpphtml\Java\test.java
D:\CCpphtml\Lua\test.lua
D:\CCpphtml\Python\test.py
@echo off
:choose
cls
echo D:\CCpphtml\Java\test.java
echo D:\CCpphtml\Lua\test.lua
echo D:\CCpphtml\Python\test.py
set /P mod=Select (:Java, :Lua, :Python, e:exit) or default(go on):
if "%mod%" EQU "" (goto java)
if "%mod%" EQU "" (goto lua)
if "%mod%" EQU "" (goto python)
if "%mod%" EQU "e" exit
REM 不断选择
goto choose :java
cd /d D:\CCpphtml\Java
javac -encoding UTF- test.java
java test
pause
goto choose :lua
lua D:\CCpphtml\Lua\test.lua
pause
goto choose :python
python D:\CCpphtml\Python\test.py
pause
goto choose
示例如下:

操作是不是很简单?
让我意外的是:当我的输入不匹配 1 2 3 e 时 会运行上一 test程序
而我只要不断回车 就可以不断刷新结果.
End... 希望对你们有所帮助吧.(代码应该能理解吧..)
当然,这似乎可以用一些高级语言(调用批处理)设计出一个 "控制台程序运行系统"
对于纯批处理来说,这已经很方便了.
本文为Dumb原创,请勿抄袭..
使用批处理选择运行控制台程序(简易cui)的更多相关文章
- 通过批处理来运行python程序
>准备 >>在所用的python源程序最前面指定该源程序要用那种可执行程序去运行它 >>例如: #!/bin/sh shell脚本 #!/usr/bin/perl per ...
- windows批处理运行java程序
明确需求 今天你编了一个java swing版照片查看器,想让计算机上的所有照片默认打开方式都改成你的照片查看器. 使用工具软件 很多工具软件都是不把jre打包到exe中的,这就是说打包之后的exe只 ...
- 10分钟 在linux里创建.net core helloworld控制台程序
官方教程 安装linux https://www.cnblogs.com/LittleFeiHu/p/9749455.html 第一步 :选择和你本机适用的Linux版本,我这里用的是18.04. 第 ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (二) 部署运行控制台项目
背景 在上一篇文章安装dotnet core,已经安装好dotnet core了.之前只是安装成功了dotnet, 输入dotnet --info,可以确认安装成功了,但是在运行代码时,还是报错了,本 ...
- CentOS6.5 64bit 运行Mono程序
前几日和一技术友聊天,认为转Java好,java可以在Linux下运行,貌似c#不可以哦,就做了个尝试,运行控制台程序和窗口程序(界面编程,Linux下Java好像也比较烦吧) 现在贴环境: 参考:C ...
- 控制台程序秒变Windows服务(Topshelf)
项目中有些时候需要写服务,一般我们都是先创建控制台程序,测试,运行,成功之后再创建windows服务程序,这样好麻烦啊,有没有简单的控制台程序直接变成Widnows服务,经过查找,找到了Topshel ...
- .NET C# 【小技巧】控制台程序,运行是否弹出窗口选择!
选中控制台程序项目,右键→属性→应用程序栏→输出类型: 1.Windows 应用程序(不弹出提示框)! 2.控制台应用程序(弹出提示框)! 3.类库(类库生成dll,是不能直接运行的,类库供应用程序调 ...
- VC++中的C运行时库浅析(控制台程序默认使用单线程的静态链接库,而MFC中的CFile类已暗藏了多线程)
1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的.C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于 ...
- Mac OS X上用CoreCLR运行一个真正的.NET控制台程序
这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld ...
随机推荐
- poj2386(dfs搜索水题)
Language:Default Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 42069 ...
- Codeforces Round #325 (Div. 2) A. Alena's Schedule 暴力枚举 字符串
A. Alena's Schedule time limit per test 1 second memory limit per test 256 megabytes input standard ...
- android 支持发送空短信
method:A) AP端修改:1.将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)private ...
- php的mysql语法
php操作mysqli(示例代码) 更新时间:2013年10月28日 :: 作者: 我要评论 关注脚本之家微信公众号(jb51net) 每周都有大礼相送哦 php操作mysqli的示例代码.需要的朋友 ...
- Unit Test in SpringBoot
此处的Unit Test in SpringBoot 包括: SpringApplication Test Service Test ControllerTest 测试项目结构如下: 代码如下: PO ...
- C++入门经典-例5.16-输出引用
1:如不加特殊说明,一般认为引用指的都是左值引用.引用实际上是一种隐式指针,它为对象建立一个别名,通过操作符&来实现,引用的形式如下: 数据类型 & 表达式: 例如: int a=10 ...
- C++入门经典-例2.8-输出整数,控制打印格式
1:代码如下: // 2.8.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #incl ...
- SpringBoot通过@Value获取application.yml配置文件的属性值
application.yml实例: spring: redis: database: 0 host: 127.0.0.1 获取方法: /** * @Auther:WangZiBin * @Descr ...
- golang 通过reflect反射修改值
不是所有的反射值都可以修改.对于一个反射值是否可以修改,可以通过CanSet()进行检查. 要修改值,必须满足: 可以寻址 可寻址的类型: 指针指向的具体元素 slice的元素 可寻址的结构体的字段( ...
- OpenCV学习笔记(3)——图像的基本操作
获取图像的像素值并修改 获取图像的属性(信息) 图像的ROI() 图像通道的拆分及合并 1.获取并修改像素值 先读入图像装入一个图像实体,然后该实体相当于一个多维list,可以直接用数组操作提取像素信 ...