Je souhaite copier un répertoire d'un lecteur à un autre. Le répertoire sélectionné contient de nombreux sous-répertoires et fichiers. Comment puis-je mettre en œuvre la même chose en utilisant vC++Copie de dossier VC++
Répondre
La fonction API SHFileOperation() est la fonction de cheval de bataille pour la copie des fichiers. Il supporte les répertoires récursifs. Passez en revue les options disponibles dans la structure SHFILEOPSTRUCT pour contrôler la copie.
SHFileOperation est officiellement obsolète sur Windows Vista + et sa fonction de suppression officieusement "ne fonctionne pas" sur Vista +. –
Merci pour votre aide précieuse .. Son fonctionnement bien – Sijith
Il est * pas * obsolète. Vista a simplement une autre souricière pour le faire. –
La manière difficile. copier chaque fichier individuellement.
Utilisez FindFirst()
et FindNext()
itérer sur le contenu d'un répertoire Utilisez SetCurrentDirectory()
pour entrer et sortir des répertoires
Utilisez CreateDirectory()
pour créer les nouveaux dossiers arbre
et enfin, utiliser CopyFile()
pour copier les fichiers réels
Si vous avez accès à la bibliothèque de ce coup de pouce est votre ami:
http://www.boost.org/doc/libs/1_42_0/libs/filesystem/doc/index.htm
Consultez le tutoriel pour de bons exemples en utilisant un itérateur de système de fichiers.
Pour vous aider à démarrer:
#include <iostream>
#include “boost/filesystem.hpp”
int main(int argc, char *argv[])
{
boost::filesystem::path path1("/usr/local/include"); // your source path
boost::filesystem::path::iterator pathI = path1.begin();
while (pathI != path1.end())
{
std::cout << *pathI << std::endl; // here you could copy the file or create a directory
++pathI;
}
return 0;
}
@downvoter: un commentaire pourquoi cela est downvoted serait utile – nabulke
- 1. constructeurs de copie ambiguë vc 2008
- 2. Copie de dossier en C#
- 3. dossier Copie sans écraser
- 4. Comment copier un dossier dans VC++?
- 5. Création d'un dossier et copie de fichier
- 6. ant dossier de copie du fichier zip
- 7. Vista copyfile copie dans le dossier VirtualStore
- 8. Copie récursive dossier/répertoire avec AS3/Air
- 9. dossier de copie d'iphone de paquet aux documents
- 10. Copie de fichiers du sous-dossier vers le dossier à l'aide de SSH
- 11. Copie de fichiers d'actifs dans/Déboguer
- 12. liste de copie des fichiers dans un dossier dans un autre dossier
- 13. WAMP + RewriteRule: copie du site dans le sous-dossier
- 14. Copie du contenu du dossier en utilisant VBScript
- 15. WPF :: Copie d'une image dans un dossier du répertoire d'application
- 16. Dll ne copie pas dans le dossier bin
- 17. Copie d'images dans un dossier d'un domaine à un autre
- 18. VB.NET 2003 copie log4net.config dans le dossier bin
- 19. Vérifiez si la copie d'un dossier s'est bien passée
- 20. Mysql Copie de données
- 21. Visual C++ contenu zone de texte copie
- 22. comment différencier un type de dossier (Windows/FTP) dans MFC (VC++)?
- 23. Concepteur de formulaires vC++
- 24. Erreur de liaison VC++
- 25. Application de Porting VC 6.0 à l'application VC 2003 VS
- 26. iPhone (iOS): copie de fichiers de l'ensemble principal vers l'erreur de dossier de documents
- 27. VC++ - Thread asynchrone
- 28. Le menu contextuel de copie de dossier nécessite une saisie de l'utilisateur
- 29. VC++ Problème Redist CRT
- 30. Comment spécifier la structure de dossier avec la tâche de copie msbuild
Je recommanderais boost (réponse de nabulke) si vous avez besoin d'une solution portable, ou SHFileOperation (réponse de nobugz) pour une meilleure intégration de la plate-forme - il vous donne essentiellement la même "copie" que l'explorateur. – peterchen