web-dev-qa-db-fra.com

Comment extraire le nom de fichier du nom de chemin de fichier?

J'ai besoin de déplacer tous les fichiers du dossier source vers le dossier de destination. Comment puis-je facilement extraire le nom de fichier du nom du chemin d'accès au fichier?

string newPath = "C:\\NewPath";

string[] filePaths = Directory.GetFiles(_configSection.ImportFilePath);
foreach (string filePath in filePaths)
{
  // extract file name and add new path 
  File.Delete(filePath);
}
26
Captain Comic

Essayez ce qui suit:

string newPathForFile = Path.Combine(newPath, Path.GetFileName(filePath));
50
Pieter van Ginkel
Path.GetFileName(filePath)
47
TalentTuner

utilisez DirectoryInfo et Fileinfo au lieu de Fichier et Répertoire, ils présentent des fonctionnalités plus avancées.

DirectoryInfo di = 
    new DirectoryInfo("Path");
FileInfo[] files = 
    di.GetFiles("*.*", SearchOption.AllDirectories);

foreach (FileInfo f in files)
    f.MoveTo("newPath");
10
vaitrafra

Vous voudrez peut-être essayer la méthode FileInfo.MoveTo (exemple de code sur le lien suivant):

http://msdn.Microsoft.com/en-us/library/system.io.fileinfo.moveto.aspx

5
dhirschl

Vous pouvez le faire comme ceci:

string newPath = "C:\\NewPath"; 
string[] filePaths = Directory.GetFiles(_configSection.ImportFilePath);  
foreach (string filePath in filePaths)  
{  
   string newFilePath = Path.Combine(newPath, Path.GetFileName(filePath);
   File.Move(filePath, newFilePath);
}
4