web-dev-qa-db-fra.com

C # - Comment extraire le nom de fichier et l'extension d'un chemin?

Alors, dis que j'ai

string path = "C:\\Program Files\\Program\\File.exe";

Comment obtenir uniquement "File.exe"? Je pensais à quelque chose avec split (voir ci-dessous), mais ce que j'ai essayé ne fonctionne pas ...

Ceci est mon code.

        List<string> procs = new List<string>(); //Used to check if designated process is already running
        foreach (Process prcs in Process.GetProcesses())
            procs.Add(prcs.ProcessName); //Add each process to the list
        foreach (string l in File.ReadAllLines("MultiStart.txt")) //Get list of processes (full path)
            if (!l.StartsWith("//")) //Check if it's commented out
                if (!procs.Contains(l.Split('\\')[l.Split('\\').Length - 1])) //Check if process is already running
                    Process.Start(l);

Je suis probablement juste un noob. ._.

25
CrimsonDeath

System.IO a différentes classes pour travailler avec des fichiers et des répertoires. Entre eux, l'un des plus utiles est Path qui a beaucoup de méthodes d'assistance statique pour travailler avec des fichiers et des dossiers:

Path.GetExtension(yourPath); // returns .exe
Path.GetFileNameWithoutExtension(yourPath); // returns File
Path.GetFileName(yourPath); // returns File.exe
Path.GetDirectoryName(yourPath); // returns C:\Program Files\Program
83
manman

Vous recherchez Path.GetFileName(string).

15
SLaks

Avec la dernière recherche de caractères, vous pouvez obtenir le bon résultat.

string path = "C:\\Program Files\\Program\\fatih.gurdal.docx";
string fileName = path.Substring(path.LastIndexOf(((char)92))+ 1);
int index = fileName.LastIndexOf('.');
string onyName= fileName.Substring(0, index);
string fileExtension = fileName.Substring(index + 1);
Console.WriteLine("Full File Name: "+fileName);
Console.WriteLine("Full File Ony Name: "+onyName);
Console.WriteLine("Full File Extension: "+fileExtension);

Production:

Nom complet du fichier: fatih.gurdal.docx

Nom du fichier complet: fatih.gurdal

Extension de fichier complète: docx

6
Fatih GÜRDAL