Voir la version complète : probleme de deplacement de repertoire
bonjour les amis
svp comment faire deplacer un repertoire entre 2 volumes différentes (du D: vers C:)
j'ai essayé de la faire avec directory.move mais j'ai eu une exeption << Le chemin d'accès source et celui de destination doivent avoir des racines identiques. Le déplacement n'est pas possible entre ces volumes. >>
est ce qu'il y a une autre méthode ?
merci
venom1000
17/07/2008, 12h38
essaye de le faire avec UNLOCKER (http://ccollomb.free.fr/unlocker/)
je t donné le lien pour voir comment faire et le telecharger en meme temps.
mouradski_21
17/07/2008, 14h28
Waw, c'est vague ton truc ?
C'est en développant ? quel langage ? ou bien j'ai raté un truc que venom1000 a remarqué ? :D
merci por le lien
mais je cherche le code en c# (car j'ai oublier d'indiquer ça dans le message précédant :eek:)
merci encore
Waw, c'est vague ton truc ?
C'est en développant ? quel langage ? ou bien j'ai raté un truc que venom1000 a remarqué ? :D
désolé une autre fois !!:D
mouradski_21
17/07/2008, 16h30
Salem,
J'ai pas VS à disposition là mais j'ai fait un peu de recherche et apparemment il faut croire le message :) ie : ce n'est pas possible d'après le message d'utiliser la méthode move entre les volumes.
Darkvader
17/07/2008, 20h41
The exception is clear you cannot move Directories across volumes.
Try this solution:
public void MoveDirectory(string sourceDir, string distDir, bool delSource)
{
if(Directory.Exists(sourceDir)
{
if(Directory.GetDirectoryRoot(sourceDir) == Directory.GetDirectoryRoot(destDir)
{
Directory.Move(sourceDir, destDir);
}
else
{
CopyDirectory(new DirectoryInfo(sourceDir), new DirectoryInfo(destDir));
if(delSource)
{
Directory.Delete(sourceDir, true);
}
}
}
}
private void CopyDirectory(DirectoryInfo sourceDir, DirectoryInfo destDir)
{
if(!destDir.Exists)
{
destDir.Create();
}
FileInfo[] srcFiles = sourceDir.GetFiles();
foreach(FileInfo srcFile in srcFiles)
{
srcFile.CopyTo(Path.Combine(destDir.FullName, srcFile.Name));
}
DirectoryInfo[] scrDirectories = sourceDir.GetDirectories();
foreach(DirectoryInfo scrDirectory in srcDirectories)
{
CopyDirectory(srcDirectory, new DirectoryInfo(Path.Combine(destDir.FulleName,
srcDirectory.Name)));
}
}
vBulletin® v.3.7.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org