ruta obtener nombre net macro extension directorio con carpeta asp archivos archivo c# file path

c# - net - Obtener ruta completa sin nombre de archivo de la ruta que incluye nombre de archivo



obtener ruta de carpeta c# (6)

¿Hay algo incorporado en System.IO.Path que me dé solo el filepath?

Por ejemplo, si tengo una string

@ "c: / servidor web / public / myCompany / configs / promo.xml",

¿Hay algún método BCL que me dé

"c: / servidor web / public / myCompany / configs /"?


Usé esto y funciona bien:

string[] filePaths = Directory.GetFiles(Path.GetDirectoryName(dialog.FileName)); foreach (string file in filePaths) { if (comboBox1.SelectedItem.ToString() == "") { if (file.Contains("c")) { comboBox2.Items.Add(Path.GetFileName(file)); } } }


Use ''GetParent ()'' como se muestra, funciona bien. Agregue la verificación de errores como lo necesite.

var fn = openFileDialogSapTable.FileName; var currentPath = Path.GetFullPath( fn ); currentPath = Directory.GetParent(currentPath).FullName;


Path.GetDirectoryName() ... pero necesita saber que la ruta que le está pasando contiene un nombre de archivo; simplemente elimina el último bit de la ruta, ya sea un nombre de archivo o un nombre de directorio (en realidad no tiene idea de cuál).

Primero puede validar probando File.Exists() y / o Directory.Exists() en su ruta primero para ver si necesita llamar a Path.GetDirectoryName


Path.GetDirectoryName() devuelve el nombre del directorio, por lo que para lo que desea (con el carácter solidus inverso rezagado) puede llamar a Path.GetDirectoryName(filePath) + Path.DirectorySeparatorChar .


string fileAndPath = @"c:/webserver/public/myCompany/configs/promo.xml"; string currentDirectory = Path.GetDirectoryName(fileAndPath); string fullPathOnly = Path.GetFullPath(currentDirectory);


Console.WriteLine(Path.GetDirectoryName(@"C:/hello/my/dear/world.hm"));