【发布时间】:2015-12-16 15:46:27
【问题描述】:
我一直在阅读如何avoid spaghetti code in batch files。
在意大利面条代码的例子中,我意识到我登录时使用的批处理文件几乎适合这个例子。有人可以帮我让我的批处理文件没有意大利面条代码吗?
@ECHO OFF
CLS
:MENU
echo Welcome %USERNAME%
echo 1 - Start KeePass
echo 2 - Backup
echo 3 - FireFox
echo 4 - Exit
SET /P M=Please Enter Selection, then Press Enter:
IF %M%==1 GOTO StarKeePass
IF %M%==2 GOTO Backup
IF %M%==3 GOTO FireFox
IF %M%==4 GOTO :EOF
GOTO MENU
:StarKeePass
SET keePass="%USERPROFILE%\KeePass\KeePass-2.30\KeePass.exe"
SET kdb="%USERPROFILE%\KeePass\PasswordDatabase\PasswordDatabase.kdbx"
echo I'll start KeePass for You
START "" %keePass% %kdb%
GOTO MENU
:Backup
SET backup="%USERPROFILE%\backup.bat"
call %backup%
GOTO MENU
:FireFox
cd "C:\Program Files (x86)\Mozilla Firefox\"
start firefox.exe
GOTO MENU
【问题讨论】:
-
这绝对不是意大利面条代码。例如,当函数调用在语法上嵌套太深或其他构造时,它被称为 SC,应该在逻辑上分组并分成多行。
-
@Ctx - 感谢您的澄清。所以,从表面上看,这很好,对吗?我有另一篇关于如何使它更健壮的帖子,但这是一个不同的问题。
-
对我来说很好,是的
标签: batch-file command-line cmd