Escapar de caracteres especiais no cmd do windows
03 Aug 2017Todas as versões do DOS interpretam certos caracteres antes de executar um comando. Alguns exemplos bem conhecidos são o sinal de porcentagem % e os símbolos de redirecionamento < | >. Também permitem o uso de carets ^ para escapar de caracteres especiais.
Por exemplo, ao passarmos uma senha com virgula para o parâmetro password, precisamos colocar antes de , o ^:
/password:"i@M}r43/3g%s^,L;"
↑
Dessa forma a senha recebida será realmente a i@M}r43/3g%s,L;.
Tabela de Escape de Caracteres
| Caráter a ser escapado |
Sequência de fuga |
Observação |
|---|---|---|
| % | %% | Não é sempre necessário em cordas duplas, apenas tente |
| ^ | ^^ | Não pode sempre ser exigido em cordas duplas, mas não vai doer |
| & | ^& | |
| < | ^< | |
| > | ^> | |
| | | ^| | |
| ’ | ^’ | Requerido apenas no “assunto” FOR / F (ou seja, entre os parênteses), a menos que backq seja usado |
| ` | ^` | Requerido apenas no “assunto” FOR / F (ou seja, entre os parênteses), se backq for usado | |
| , | ^, | Requerido apenas no “assunto” FOR / F (ou seja, entre os parênteses), mesmo em cordas duplas |
| ; | ^; | |
| = | ^= | |
| ( | ^( | |
| ) | ^) | |
| ! | ^^! | Requerido apenas quando a expansão da variável atrasada está ativa |
| ” | ”” | Requerido apenas dentro do padrão de pesquisa de ENCONTRAR |
| \ | \\ | Requerido apenas dentro do padrão regex da FINDSTR |
| [ | \[ | |
| ] | \] | |
| ” | \” | |
| . | \. | |
| * | \* | |
| ? | \? |
Fonte: http://www.robvanderwoude.com/escapechars.php