使用批处理选择运行控制台程序(简易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 (1:Java, 2:Lua, 3:Python, e:exit) or default(go on):
if "%mod%" EQU "1" (goto java)
if "%mod%" EQU "2" (goto lua)
if "%mod%" EQU "3" (goto python)
if "%mod%" EQU "e" exit
REM 不断选择
goto choose

:java
cd /d D:\CCpphtml\Java
javac -encoding UTF-8 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原创,请勿抄袭..

原文地址:https://www.cnblogs.com/drakeisdumb/p/12051112.html

时间: 2024-11-06 03:51:49

使用批处理选择运行控制台程序(简易cui)的相关文章

通过批处理来运行python程序

>准备 >>在所用的python源程序最前面指定该源程序要用那种可执行程序去运行它 >>例如: #!/bin/sh shell脚本 #!/usr/bin/perl perl脚本 #!/usr/bin/python python脚本 #!/usr/bin/python3 python3脚本 #!/usr/bin/python2 python2脚本 >>我的程序使用的解释器 >>>#!/usr/bin/env python  表示我的程序用3.5的解

CentOS6.5 64bit 运行Mono程序

前几日和一技术友聊天,认为转Java好,java可以在Linux下运行,貌似c#不可以哦,就做了个尝试,运行控制台程序和窗口程序(界面编程,Linux下Java好像也比较烦吧) 现在贴环境: 参考:Centos安装mono平台:http://www.cnblogs.com/shanyou/p/3218611.htmlyum –y update:yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-de

zz:控制台程序后台运行

控制台程序后台运行 2010-07-10 07:06 P.M. #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置入口地址              在控制台程序中隐藏控制台窗口! 大家都知道,当编写一个win32 console application时,当运行此类程序的时候 默认情况下会有一个类似DOS窗口的console窗口,

配置maven环境变量cmd控制台提示:mvn不是内部或外部命令,也不是可运行的程序或批处理文件

首先maven环境变量: 变量名:MAVEN_HOME 变量值:E:\apache-maven-3.2.3 变量名:Path 变量值:;%MVN_HOME%\bin cmd控制台查看查看maven是否配置成功 1:查看maven安装路径:echo %MAVEN_HOME% 2:查看maven版本:mvn -version 控制台提示:mvn不是内部或外部命令,也不是可运行的程序或批处理文件 解决方法:在Path中添加:%SystemRoot%\system32;%SystemRoot%;%Sys

VS2010运行正常的控制台程序在VS2015中出现乱码的解决方法

以前在Visual Stuido 2010中运行正常的控制台程序,在Visual Studio 2015中出现乱码,找到<Visual Studio 2015的坑:中文字符串编译后成乱码>这篇文章,原来是某个cs文件的保存格式为ANSI,在保存按钮右侧有一个编码保存,用UTF8另存后,编译运行OK!

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我还是很操蛋的在QT下写控制台程序了,但是写完程序后运行时出现了如下情况. 程序运行了,但是控制台中居然只有一个光标在那儿跳啊跳.由于百度的姿势不对,废了好多时间,终于明白是因为qt creator不支持Gnome默认的终端gnome-terminal. 所以要换成XTerm的控制台. 具体的解决方式

Mac OS X上用CoreCLR运行一个真正的.NET控制台程序

这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld代码如下(代码中省略了拼接logo的字符串,完整代码见这里): using System; internal class Program { private static void Main(string[] args) { if (args.Length == 1 && args[0] ==

win10的cmd中显示:telnet不是内部或外部命令也不是可运行的程序或批处理?

win10的cmd中显示:telnet不是内部或外部命令也不是可运行的程序或批处理? 摘录自:https://blog.csdn.net/haijing1995/article/details/66475546 telnet命令? telnet命令用于登录远程主机,对远程主机进行管理. 举个栗子:在cmd中运行telnet  localhost  8431  也就等同于在浏览器中输入localhost:8431 telnet 127.0.0.1 11211 用于连接 memcached 问题分析

CentOS里运行.net core控制台程序

说明:2带了4(vs2017仅支持2.1,命令中修改版本就好)1注册 Microsoft 密钥和源安装 .NET 之前,需要:注册 Microsoft 密钥.注册产品存储库.安装必需的依赖项.每台计算机只需要执行一次此操作.打开终端并运行以下命令.bash 复制sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm ------------------------------