批处理可以用于启动一些控制台程序.昨天在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