Como escapar aspas em arg passado ao programa

0

Então eu tenho seguinte problema. Eu tenho script em lote script.bat tendo conteúdo a seguir

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

O que obviamente não funciona. No bash, eu escaparia das aspas dentro de uma aspas para " { value = \"something\" }" . Ou até mesmo alterou " para ' . No entanto, o Windows não tem esse recurso ( ' é apenas caractere normal). Eu procurei por uma solução e encontrei duas maneiras.

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

No entanto, nenhum desses trabalhos (nem no arquivo de lote nem no prompt de comando)

    
por Zereges 05.03.2016 / 18:21

1 resposta

1

A outra citação não (de acordo com Escapando aspas duplas no script em lote ) se aplicam ao conteúdo de uma sequência de aspas duplas.

Você pode adicionar aspas duplas por substituição:

set myvalue="something"
cat %* | gawk " { value = %myvalue% } "
    
por 05.03.2016 / 18:51