Algo pour écraser des fichiers

PsyCaDi Messages postés 123 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 30 mars 2009 - 21 juil. 2005 à 12:30
Sensei01 Messages postés 94 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 27 juin 2006 - 21 juil. 2005 à 15:34
Bonjour,
Je dois écraser une 50aine de fichiers vers une dizaine de répertoires.

Cela ne pose pas de problème sauf quand le fichier que je veux copier existe déjà et qu'il a la propriété "lecture seule".

Je me demandais si il valait mieux que :
- je teste si le fichier est en lecture seule (GetFileAttributes)
- je supprime la lecture seule si besoin (SetFileAttributes)
- je copie le fichier (CopyFileEx)
Ou alors :
- je copie le fichier (CopyFileEx)
- si la copie ne marche pas, je vire la lecture seule (SetFileAttributes)
- je copie le fichier une nouvelle fois. (CopyFileEx)

Etant donné le nombre de fichiers à copier, je veux un truc assez rapide sachant que sur toutes ma liste de fichiers, je vais en avoir 1 ou 2 en lecture seule.

Je passe déjà par les API pour copier et pour jouer avec les attributs.

3 réponses

BasicInstinct Messages postés 1471 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
21 juil. 2005 à 14:13
'lut

et pourquoi pas directement comme ca ?

je vire la lecture seule (SetFileAttributes)
je copie le fichier (CopyFileEx)

BasicInstinct
0
PsyCaDi Messages postés 123 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 30 mars 2009
21 juil. 2005 à 14:16
Parce qu'en gros je copie un total de 500 - 600 fichiers et sur la totalité, j'en aurais 10 - 15 en lecture seule.

Ta solution marche très bien, c'est ce que je fais mais je pense que ça ralentit le code pour rien
0
Sensei01 Messages postés 94 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 27 juin 2006
21 juil. 2005 à 15:34
Sensei01

tu fais sur ton objet fichier un displayAlerts = fasle ainsi tu ne devrai pas être emmerdé (normalement) lors de la copie
dim f as file
f = ...
f.DisplayAlerts = false
...

/******** Sans audance pas de gloire !! ********/
0