Copiar senha para a área de transferência usando scripts em lote

2

Eu quero copiar a senha para a área de transferência usando o arquivo bat. Eu tentei algumas sugestões como

echo|set /p=Ps5dP%q$@mxnx|clip

Mas o problema é que ele não copia% sign to clipboard. O script acima funciona, mas sem sinal%.

Alguma sugestão?

    
por Gargeya Kulkarni 10.07.2015 / 08:14

2 respostas

1

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 and FOR parameters.

To treat a percent as a regular character, double it:

%%

Fonte Sintaxe: caracteres de escape, delimitadores e citações

Leitura Adicional

por 10.07.2015 / 11:14
0

tente isso

echo|set /p=Ps5dP%%q$@mxnx|clip

O % escapa da %

    
por 10.07.2015 / 08:18