Итак, у меня есть следующая проблема. У меня есть пакетный скрипт script.bat имеющий следующее содержание

cat %* | gawk " { value = "something" } "

Который, очевидно, не работает. В bash я бы экранировал кавычки внутри кавычек на " { value = \"something\" }" . Или даже изменил " на ' . Однако в Windows такой функции нет (' это просто обычный символ). Я искал решение и нашел два пути.

cat %* | gawk " { value = ^"something^" } "
cat %* | gawk " { value = ""something"" } "

Однако ничего из этого не работает (ни в командном файле, ни в командной строке)

1 ответ1

1

Другое цитирование не применяется (в соответствии с экранированием двойных кавычек в пакетном скрипте) для содержимого строки в двойных кавычках.

Вы можете добавить двойные кавычки путем замены:

set myvalue="something"
cat %* | gawk " { value = %myvalue% } "

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .