Да, вы можете легко это сделать.
Пакетные файлы имеют доступ ко всем параметрам, указанным после его имени. Первые 9 доступны через% 1,% 2,% 3,% 4 ...% 9, и затем вы можете использовать команду shift
чтобы сдвигать все вверх, получая доступ к параметрам 10 и более.
Теперь в вашем примере используется только первый параметр, но теперь вы знаете, что на самом деле можете использовать и другие параметры.
Следующим шагом будет переход в ваш командный файл. Вы можете использовать команды IF
и GOTO
вместе с :labels
чтобы сделать это.
Заявление IF выглядит следующим образом:
IF "%1"=="clean" GOTO clean
Вы можете поместить все свои заявления if под друг друга.
В конце операторов if вы помещаете уведомление о том, что не был введен действительный параметр:
echo No parameter or an invalid parameter was used.
echo.
echo Please use make with any of the following parameters
echo clean - remove the nod_modules folder.
echo install - execute npm install.
... etc.
После того, как у вас есть справочная страница, вам нужно перейти к концу. Логика бизнеса предлагает использовать метку END и переходить туда, чтобы вы могли поставить команду в конце, если вам нужно, которая будет работать везде, например, пауза.
Так что вы бы тогда вставили:
goto end
Теперь нам нужно добавить все функции.
Вы начинаете с метки.
:clean
И тогда вы добавляете свою команду
rmdir node_modules
с последующим переходом к концу скрипта, потому что мы не хотим, чтобы выполнялись и другие команды.
Вы можете даже пойти дальше и использовать второй параметр, чтобы указать, какую папку следует удалить. Например:
rmdir %2
Теперь вы должны запустить make clean node_modules
чтобы удалить эту папку.
goto end
Итак, ваша маленькая функция выглядит так:
:clean
rmdir node_modules
goto end
После того, как вы перечислите все функции, вам, очевидно, тоже нужно поставить конец:
:end
Любая необязательная команда в конце может быть помещена позже.