2011-03-22 14 views
7

Me encontré con una situación en la que sería útil obtener la línea de comando original como mecanografiada, en lugar de dividirla en la matriz args. Simplemente unir los args en una cadena pierde espacios adicionales entre los argumentos, y en este caso particular podrían ser significativos.Línea de comando original como mecanografiada

¿La línea de comandos sin analizar original está disponible en cualquier lugar?

+2

¿por qué los espacios 'alguna vez' serían significativos? No deberían serlo, por todas las razones obvias ... (aparte de las rutas de archivos, pero tampoco debería tener espacios dobles en esos ...) –

+0

@Mitch: si lo hago 'cd c: \ Program Files' funciona. Si pongo un espacio extra entre 'Program' y' Files', no funciona, y espero que no. – Gabe

+0

Porque en este caso uno de los argumentos es un objetivo de búsqueda que puede delimitarse mediante caracteres no alfabéticos arbitrarios, p./qué alguna vez /, y los espacios son significativos (el usuario está buscando una cadena con tres espacios). El analizador de línea de comando dividirá eso en dos argumentos a menos que esté delimitado por comillas, que no puede usar si el objetivo de búsqueda contiene comillas. – chrisd

Respuesta

11

Sí, puede hacerlo a través de la propiedad CommandLine de la clase Environment.

Environment.CommandLine 
+0

¡Eso es todo, gracias! – chrisd

Cuestiones relacionadas