Get full path without filename from path that includes filename

前端 未结 6 1079
深忆病人
深忆病人 2020-12-12 21:27

Is there anything built into System.IO.Path that gives me just the filepath?

For example, if I have a string

@\"c:\

相关标签:
6条回答
  • 2020-12-12 21:52

    Path.GetDirectoryName()... but you need to know that the path you are passing to it does contain a file name; it simply removes the final bit from the path, whether it is a file name or directory name (it actually has no idea which).

    You could validate first by testing File.Exists() and/or Directory.Exists() on your path first to see if you need to call Path.GetDirectoryName

    0 讨论(0)
  • 2020-12-12 21:52

    Use GetParent() as shown, works nicely. Add error checking as you need.

    var fn = openFileDialogSapTable.FileName;
    var currentPath = Path.GetFullPath( fn );
    currentPath = Directory.GetParent(currentPath).FullName;
    
    0 讨论(0)
  • 2020-12-12 22:02
        string fileAndPath = @"c:\webserver\public\myCompany\configs\promo.xml";
    
        string currentDirectory = Path.GetDirectoryName(fileAndPath);
    
        string fullPathOnly = Path.GetFullPath(currentDirectory);
    

    currentDirectory: c:\webserver\public\myCompany\configs

    fullPathOnly: c:\webserver\public\myCompany\configs

    0 讨论(0)
  • 2020-12-12 22:03
    Console.WriteLine(Path.GetDirectoryName(@"C:\hello\my\dear\world.hm")); 
    
    0 讨论(0)
  • 2020-12-12 22:09

    I used this and it works well:

    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));
            }
        }
    }
    
    0 讨论(0)
  • 2020-12-12 22:12

    Path.GetDirectoryName() returns the directory name, so for what you want (with the trailing reverse solidus character) you could call Path.GetDirectoryName(filePath) + Path.DirectorySeparatorChar.

    0 讨论(0)
提交回复
热议问题