Não copia o sinal% para a área de transferência
De uma linha de comando
F:\test>echo|set /p=Ps5dP%q$@mxnx|clip
F:\test>Ps5dP%q$@mxnx
O comando funciona como esperado.
De um arquivo em lote
O comando não funciona como esperado. Você pode ver que o echo
no arquivo de comando caiu o %
.
F:\test>type test.cmd
echo|set /p=Ps5dP%q$@mxnx|clip
F:\test>test
F:\test>echo | set /p=Ps5dPq$@mxnx | clip
F:\test>Ps5dPq$@mxnx
Solução para um arquivo em lote
Escape o %
(substitua %
por %%
)
F:\test>type test.cmd
echo|set /p=Ps5dP%%q$@mxnx|clip
F:\test>test
F:\test>echo | set /p=Ps5dP%q$@mxnx | clip
F:\test>Ps5dP%q$@mxnx
Por que preciso escapar do caractere%?
Escaping Percents
The
%
character has a special meaning for command line parameters andFOR
parameters.To treat a percent as a regular character, double it:
%%
Fonte Sintaxe: caracteres de escape, delimitadores e citações
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.