Я читал как 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
@Ctx - Спасибо за разъяснение. Итак, с точки зрения вещей, все в порядке, правильно? У меня есть еще одна статья о том, как сделать ее более надежной, но это другой вопрос. –
Выглядит хорошо, да – Ctx