Толик Панков
hex_laden
............ .................. ................
November 2020
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Толик Панков [userpic]
Полезные фишки в BAT/CMD файлах.

Выход из BAT-файла


exit /B

Ключ /B обязателен! Если использовать просто exit - закроется командный интерпретатор.

Проверка, пустая ли переменная


Можно использовать для проверки параметров в командной строке.

if "%~1"=="" (
	echo Use %0 ^<address^>
	echo Address must be without http://, https:// or www
	echo e.g. riseup.net
	pause
	exit /B
)


Запись вывода программы в переменную


Аналог VAR=`program` в bash.

for /f %%i in ('program') do set "API_URI=%%i"& goto f1
:f1


Пример:

for /f %%i in ('bin\jq .api_uri %WORKDIR%/provider.json') do set "API_URI=%%i"& goto f1
:f1


Источник

SetLocal и расширенная обработка команд


Статья на Киберфоруме Копия в PDF

Экранирование спецсимволов


В BAT/CMD файле некоторые символы (перенаправления > и <, конвейера |, символ &, указание переменной %) считаются специальными. Если символ должен быть включен в команду как символ, могут быть глюки. Перед символом нужно указать символ экранирования: ^ (крышку).

Пример:

echo Use batfile.bat ^<address^>

(выведет на экран Use batfile.bat <address>)

Источник Копия в PDF Там есть и другие полезные штуковины.

Удаление определенного символа из строки.


Например, надо удалить из переменной %VAR% все кавычки:

set VAR=%VAR:"=%

Источник Копия в PDF В источнике есть и другие примеры работы со строками.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/01/11/poleznye-fishki-v-bat-cmd-fajlah/

Tags: ,