2010-09-20 20 views
5

Necesito abrir la carpeta a través del explorador de Windows usando C#. Está funcionando bien hasta que haya una coma en la ruta de la carpeta. Aquí está un ejemplo:Abrir la carpeta que contiene una coma en su ruta

System.Diagnostics.Process.Start("explorer.exe", "C:\\folder\\another-folder\\123,456"); 

El error es: El camino '456' no existe o no es un directorio.

Cualquier solución favor :)

+1

¿intentaste escapar? – st0le

+0

@ st0le: No hay nada de qué escapar; solo necesita estar rodeado de comillas dobles. –

Respuesta

2

Trata de la ruta entre comillas dobles:

System.Diagnostics.Process.Start("explorer.exe", "\"C:\\folder\\another-folder\\123,456\""); 
13

Trate de añadir comillas dobles alrededor de su trayectoria:

System.Diagnostics.Process.Start("explorer.exe", "\"C:\\folder\\another-folder\\123,456\""); 

Side-nota: puede resultarle más fácil escribir rutas utilizando una literal litera literal, para evitar tener que escapar de las barras diagonales:

System.Diagnostics.Process.Start("explorer.exe", @"""C:\folder\another-folder\123,456"""); 
+0

Funcionó bien, gracias! – sturmgewehr

+2

También necesitaría hacer esto si la ruta contiene otros caracteres especiales, como espacio. Por lo tanto, para estar seguro, las cadenas de ruta siempre deben ser citadas. – Polyfun

+0

¡agradable! :) [15chars] – st0le

0

Tratar de escapar del nombre de archivo:

System.Diagnostics.Process.Start("explorer.exe", "\"C:\\folder\\another-folder\\123,456\""); 
0

usar el operador @ antes de la cadena de ruta ... y luego simplemente anote la ruta sin caracteres de escape como barras invertidas etc. Esto hace que la cadena de pie de la letra.

System.Diagnostics.Process.Start (@ "C: \ myapp.exe"); // debería funcionar

Cuestiones relacionadas