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. ._.
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
Vous recherchez Path.GetFileName(string)
.
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