Changer le répertoire d'un fichier

lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008 - 15 juin 2007 à 19:26
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 17 juin 2007 à 11:44
Bonjours, je cherche un code pour changer le répertoire d'un fichier.
Exemple : le fichier test.txt est sur le Bureau, sur ma form je voudrais en cliquant sur Command1 que le fichier test.txt se déplace dans Mes Documents.

6 réponses

cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
15 juin 2007 à 20:00
Salut,

Regarde du côté de : Name ou FileCopy

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Profil bloqué
16 juin 2007 à 00:06
Salut
Attention au fait que "Bureau" et "Mes Documents" sont des répertoires spéciaux réservés à l'utilisateur courant.Il existe des codes pour trouver les répertoires spéciaux d'un utilisateur.

GRENIER Alain[8D]
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
16 juin 2007 à 06:55
 Bonjour à tous,

L'exemple suivant illustre l'utilisation de la propriété SpecialFolders  :

Option Explicit
Call fnMoveFile("MonFichier.txt")

Private Function fnMoveFile(strFile)
Dim objFso, objShell
Dim strDesktop, strMesDocuments
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")

strDesktop = objShell.SpecialFolders("Desktop")   ' ou objShell.SpecialFolders(4)
strMesDocuments = objShell.SpecialFolders(16)

If objFso.FileExists(strDesktop & "" & strFile) Then
   objFso.MoveFile strDesktop & "" & strFile, strMesDocuments & "" & strFile
End If

Set objFso = Nothing
Set objShell = Nothing
End Function

jean-marc
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
16 juin 2007 à 11:21
Pourquoi charger la machine script par dessus celle de VB ???
L'appel direct de l'API MoveFile() fera 1 ligne sans besoin de FileExists

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
17 juin 2007 à 09:35
 Bonjour à tous

Bonjour BruNews,
Pour ma part, ne possédant pas VB6, l'exemple que j'ai proposé, en vbs, correspond à la
requête de "lenum1".
Je préfère utiliser "FileExists"
plutôt que "On Error Resume Next" pour éviter le plantage,
en cas de non existence du fichier à déplacer.
Par contre, en visualisant les précédentes questions de "lenum1", dans
"

Messages dans le forum sur ce site :[forum.v2.aspx?MID=1083836 14
message(s)]

", lui, possède VB,
et donc je suppose (de par votre réponse) qu'il n'y pas nécessité d'utiliser fso et shell.
Par curiosité, pouvez-vous mettre un exemple en VB6.
Merci.

jean-marc
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
17 juin 2007 à 11:44
ok = MoveFile(pExistingFileName, lpNewFileName)

Avec API, que soit VB6 ou autre ne change rien.
La gestion d'erreurs est très couteuse en cycles, j'insiste bien que c'est inutile avec l'API car n'en émet pas, suffit de regarder ce qu'elle retourne.
If MoveFile(pExistingFileName, lpNewFileName) Then MsgBox "REUSSI"

ciao...
BruNews, MVP VC++
0