déplacement fichier sur lecteur réseau

déplacement fichier sur lecteur réseau - C++ - Programmation

Marsh Posté le 28-02-2013 à 14:44:43    

bonjour à tous  
 
j'ai un petit souci
je souhaite déplacer une dossier (nomDossier) de mon dossier HOME à un lecteur réseau
 
tout dabord le code :)  
 

Code :
  1. String ^cheminSource = "c:\\home\\nomDossier";
  2. String ^cheminDestination = "\\\\sfs.corp\\data\\nomDossier";
  3. System::IO::Directory::Move(cheminSource,cheminDestination);


 
cependant une erreur se produit m'indiquant :
 
" Source and destination path must have identical roots, Move will not work across Volumes "
 
je ne comprend pas d'où viens cette errreur, pouvez vous m'aider??

Reply

Marsh Posté le 28-02-2013 à 14:44:43   

Reply

Marsh Posté le 28-02-2013 à 15:18:32    

Tu ne peux pas faire un move si tu n'est pas sur le même volume. Un move (ie déplacement de fichier dans l'arborescence, sans destruction) n'est possible que si on reste dans une même arborescence de fichiers.
Il va falloir que tu
1) crées le répertoire cible
2) copies les fichier du répertoire source dans le répertoire cible
3) détruises les fichiers du répertoire source
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-02-2013 à 15:27:36    

recap :  
 
je créé mon répertoire cible avec un Create directory
 
je déplace mes fichiers avec un copyfile
 
et je fait mon delete file

Reply

Marsh Posté le 28-02-2013 à 16:06:46    

apres différents essais, j'ai toujours la même erreur de ROOTS,
 
même a la création du dossier seul sur mon lecteur réseau

Reply

Marsh Posté le 28-02-2013 à 16:33:42    

Ben à la création, le message d'erreur est surement différent.
C'est clair au vu de la doc: http://msdn.microsoft.com/en-us/library/54a0at6s.aspx
Ce serait pas une question de droits? Ou bien le répertoire cible n'existe t'il pas déjà?
A+,


Message édité par gilou le 28-02-2013 à 16:38:13

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-02-2013 à 16:42:12    

lorsque que je passe en .BAT avec la commande pour copier le dossier et que je met les chemin en brut  ca marche et j'ai aucun soucis...
 
donc mon autre question, puis-je écrire a l'intérieur du BAT a l'instar d'un fichier texte classique??

Reply

Marsh Posté le 28-02-2013 à 17:54:39    

Un bat, c'est un fichier texte.  
C'est l'interpréteur de commandes DOS qui interprète son contenu comme des commandes.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-02-2013 à 17:56:55    

Noter que si il y avait aucune raison spéciale de faire ça en C++ (ie pas intégré à un programme plus gros), il y a des langages de script comme Perl ou Python bien plus adaptés pour ce genre de choses.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-03-2013 à 10:28:39    

bonjour petite question
 
jai réussi a tout déplacer  néanmoins un problème existe
 
jai un dossier contenant des photo, avce mon code je supprime certaines photo, puis je cherche a déplacer le dossier au sein meme de ma machine pas en réseau
 
et j'ai une erreur me disant " l'acces au chemin d'acces est refusé"
 
le plus bizar c que si je déplace sans supprimer des éléments cela focntionne bien

Reply

Marsh Posté le 11-03-2013 à 11:08:03    

Peut être parce qu'il n'a pas été mis a jour que certaines images sont supprimées du répertoire, et que quand leur déplacement est tenté, elles ne sont pas trouvées.
Bref, un truc similaire à ce bug connu: http://social.technet.microsoft.co [...] 28916268e0
A+,


Message édité par gilou le 11-03-2013 à 11:10:50

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-03-2013 à 11:08:03   

Reply

Marsh Posté le 11-03-2013 à 11:13:49    

problème résolu, vous pouvez fermer ce post :) merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed