2012-04-24 96 views
9

Tengo un guión de Windows .bat en el que trato de ejecutar un comando con contraseña en el parámetro. La contraseña que deseo poder usar es [email protected]#$%^&*()_+|-=\][{}';:"/.>?,<.Escapar caracteres especiales en cmd

Por lo que he leído here, debería escapar ^&|\<> con ^. Por lo que supongo, debería escapar al " con \".

Esto me da algo así:

runme.exe /password:"[email protected]#$%^^^&*()_+^|-=^\][{}';:\"/.^>?,^<" 

Pero no funciona - mi aplicación destino responde con fallo de inicio de sesión.

¿Cómo debo escapar todos estos caracteres para poder codificar la contraseña en mi lote (ignorando los problemas de seguridad por ahora)?

+0

http://stackoverflow.com/questions/1741546/how-to-input- special-character-in-cmd – Atara

+0

¿Estás sugiriendo '/ password: ~! @ # $% ^^^ & *() _ +^| - = \] [{} ';:" /.^>? ,^<'? No, no funciona. – NOtherDev

+2

% es especial, %% parece escapar. – jon

Respuesta

10

Doble la cita en la contraseña y asegurarse de que la contraseña completa está encerrada entre comillas, así:

runme.exe /password:"[email protected]#$%%^^^&*()_+^|-=\][{}';:""/.>?,<" 
+0

Eso funcionó:'/password: "~! @ # $ %%^& *() _ + | - = \] [{} ';: "" /.>?, <"' (no hay '^' adicional dentro de las comillas). Muchas gracias! – NOtherDev

+0

Si tiene% en su contraseña - pruebe %% en su lugar. Más aquí: http://www.robvanderwoude.com/escapechars.php –

1

Pruébalo, pero si el analizador de argumentos runme.exe requiere comillas como encapsuladores de cadena para contraseñas, no funcionará. Si necesita un presupuesto de su contraseña, ¡entonces runme.exe necesita proporcionar una forma de escapar!

runme.exe /password:[email protected]#$%%^^^&*()_+^|-=\][{}';:"/.>?,< 
+0

Todavía no hubo suerte. ¿Qué quieres decir con proporcionar una forma de escapar? No tengo control sobre 'runme.exe' por desgracia. ¿Estás sugiriendo que 'runme.exe' no sea capaz de admitir contraseñas con '" '? – NOtherDev

+0

Eso creí, pero la sugerencia de Christian.K suena bien. – jon

Cuestiones relacionadas