Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD10 - Fonctions zipXXX] - Comment ne pas écraser les fichiers lors de la décompression ?

1 réponse
Avatar
Yanick Charland
Bonjour à toutes et à tous,

J'utilise (dans l'ordre) les fonctions zipCrée, zipAjouteRépertoire,
zipCréeExe, zipFerme pour me créer un fichier auto-extractible.
Ensuite, lorsque l'usager tente d'extraire les informations de ce
fichier, nous aimerions (les usagers et moi !) que les fichiers
présents dans le répertoire cible ne soient pas écrasés (peu nous
importe que les fichiers existants soient plus anciens que ceux
contenus dans l'archive).

Est-ce possible ?

Voici le détail de ma procédure de création de mon archive :

*** La procédure reçoit deux paramètres
- sNomFichierZip qui est le nom de l'archive EXE avec le répertoire
complet où le fichier doit être créé.
- sRepExtraction qui est le répertoire d'extraction côté client.

sZip est une chaîne = "monZip"
sPathZIP est une chaîne = "C:\TEMP.zip"
// Si le fichier final existe, on le supprime
SI fFichierExiste(sNomFichierZip) ALORS
fSupprime(sNomFichierZip, frLectureSeule)
FIN

// On crée le fichier ZIP
zipCrée(sZip, sPathZIP)

// On ajoute les fichiers
zipAjouteRépertoire(sZip, fExtraitChemin(sNomFichierZip, fDisque +
fRépertoire), Vrai, fExtraitChemin(sNomFichierZip, fDisque +
fRépertoire))

// On crée le fichier auto-extractible
zipCréeExe(sZip,sNomFichierZip,zipAvecIHM,"",sRepExtraction)

// On ferme et on détruit le fichier ZIP (pour ne garder que le EXE
auto-extractible)
zipFerme(sZip)
fSupprime(sPathZIP)

Merci bien pour votre temps !

--

-------------------------------------------------
Yanick Charland

1 réponse

Avatar
Gilles TOURREAU
Yanick Charland vient de nous annoncer :
Bonjour à toutes et à tous,

J'utilise (dans l'ordre) les fonctions zipCrée, zipAjouteRépertoire,
zipCréeExe, zipFerme pour me créer un fichier auto-extractible. Ensuite,
lorsque l'usager tente d'extraire les informations de ce fichier, nous
aimerions (les usagers et moi !) que les fichiers présents dans le répertoire
cible ne soient pas écrasés (peu nous importe que les fichiers existants
soient plus anciens que ceux contenus dans l'archive).

Est-ce possible ?

Voici le détail de ma procédure de création de mon archive :

*** La procédure reçoit deux paramètres
- sNomFichierZip qui est le nom de l'archive EXE avec le répertoire complet
où le fichier doit être créé.
- sRepExtraction qui est le répertoire d'extraction côté client.

sZip est une chaîne = "monZip"
sPathZIP est une chaîne = "C:TEMP.zip"
// Si le fichier final existe, on le supprime
SI fFichierExiste(sNomFichierZip) ALORS
fSupprime(sNomFichierZip, frLectureSeule)
FIN

// On crée le fichier ZIP
zipCrée(sZip, sPathZIP)

// On ajoute les fichiers
zipAjouteRépertoire(sZip, fExtraitChemin(sNomFichierZip, fDisque +
fRépertoire), Vrai, fExtraitChemin(sNomFichierZip, fDisque + fRépertoire))

// On crée le fichier auto-extractible
zipCréeExe(sZip,sNomFichierZip,zipAvecIHM,"",sRepExtraction)

// On ferme et on détruit le fichier ZIP (pour ne garder que le EXE
auto-extractible)
zipFerme(sZip)
fSupprime(sPathZIP)

Merci bien pour votre temps !



Tu dois décompresser les fichiers un par un comme ceci :

POUR i = 1 A zipNbFichier("zip")
ch = zipExtraitChemin("zip", i)
SI fFichierExiste(ch) = Faux ALORS
zipExtraitFichier("zip", i)
FIN
FIN

Cordialement

--
Gilles TOURREAU
Responsable informatique


Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr