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);
}
Essayez ce qui suit:
string newPathForFile = Path.Combine(newPath, Path.GetFileName(filePath));
Path.GetFileName(filePath)
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");
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
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);
}