Ampersand na senha do Windows

1

Eu tenho uma senha para uma conta do Perforce que contém um e comercial (&) e quando tento usar certos comandos do P4, recebo o seguinte erro:

Perforce password (P4PASSWD) invalid or unset.

Tenho a sensação de que tem algo a ver com o "e" comercial, fazendo com que a senha não seja reconhecida no shell de comando do Windows, mas estou mais familiarizado com o bash do que com o Windows, então não sei como lidar com isso. Algum especialista do Windows por aí que tenha visto algo assim? Eu gostaria de evitar ter que alterar a senha, se possível, mas de alguma forma definir minha variável de ambiente P4PASSWD de tal forma que ela seja reconhecida pelo shell como a senha correta.

    
por user3270760 14.11.2014 / 16:28

2 respostas

4

Você está correto. O e comercial é um caractere especial na linha de comando do windows. Normalmente, para escapar, use o cursor (^) ou aspas duplas. Se nenhum desses trabalhos (ou se você não estiver digitando sua senha na linha de comando), sugiro apenas alterar sua senha.

Por exemplo:

C:\Windows\System32>echo a&b
a
'b' is not recognized as an internal or external command,
operable program or batch file.

C:\Windows\System32>echo a^&b
a&b

C:\Windows\System32>
    
por 14.11.2014 / 17:13
0

Referência Sintaxe: Escape Characters, Delimiters and Quotes

^ Escape character.

Adding the escape character before a command symbol allows it to be treated as ordinary text. When piping or redirecting any of these characters you should prefix with the escape character: & \ < > ^ |

^\ ^& ^| ^> ^< ^^

Portanto, no shell de comando do Windows, você precisa usar ^& em vez de & para escapar do significado especial de &

    
por 14.11.2014 / 17:26