Поговорим о возможности использовать в batch файлах оператора switch/case.
Потребовалось написать простой CMD скрипт для запуска трех разных команд.
Вспомнил про оператор switch, с помощью которого делал обработку в зависимости что в переменной на PHP.
Пример конструкции на языке PHP:
<?php switch ($i) { case "apple": echo "i это яблоко"; break; case "chocolate": echo "i это шоколадка"; break; case "pie": echo "i это пирог"; break; } ?>
Пример case на Bash:
case $i in apple) echo $i "это яблоко" ;; chocolate) echo $i "это шоколадка" ;; windows) echo $i "это пирог" ;; *) echo "Usage: $1 apple | chocolate| pie" ;; esac
Для batch файлов такой конструкции нет, но мы сможем сделать два варианта с помощью конструкции IF и GoTO.
При запуске будем передавать один аргумент и в зависимости, что передали будет выполняться нужный нам шаг.
Пример с использованием goto:
@echo off set N=%~1 goto :switch-case-N-%N% 2>nul || ( echo "Usage: %~0 one | two | three" ) :switch-case-N-one echo One exit /b :switch-case-N-two echo Two exit /b :switch-case-N-three echo Three exit /b
Пример с использованием IF ELSE IF:
@echo off set N=%~1 IF "%N%"=="one" ( echo One ) ELSE IF "%N%"=="two" ( echo Two ) ELSE IF "%N%"=="three" ( echo Three ) ELSE ( echo "Usage: %~0 one | two | three"
На этом все.
Больше о batch файлах можно найти здесь.
Хотел написать комментарий на статью: https://marvins.ru/administrirovanie/pdf-a-sozdaem-arxivnyj-fajl-bez-ispolzovaniya-adobe-acrobat-pro.html
Но там пишет «вы ввели неправильное значение reCaptcha». А здесь комментарии проходят. Комментарий на ту статью:
Git-bash выводит ошибку: Ghostscript is not installed or it’s not in the path — что-то я делаю не так… Вроде бы скачал gs и поставил. Видимо, неправильно. А как поставить — даже не знаю теперь.
Спасибо!
Руслан, из вашего комментария непонятно на какую OS вы устанавливали:)
Если Ubuntu, то apt install ghostscript
RHEL yum install ghostscript
FreeBSD pkg install ghostscript (собственно на этой OS был опробован данный метод и успешно используется для подготовки обязательного экземпляра)
Если Windows, то проще в поставить linux/freebsd с помощью виртуализации.