VBWinBackup : Sauvegarde d'une arborescence de
fichiers
https://codes-sources.commentcamarche.net/source/36613
Documentation : VBWinBackup.html
Code source : VBWinBackup.vbproj.html
Par Patrice Dargenton : patrice.dargenton@free.fr
http://patrice.dargenton.free.fr/CodesSources/index.html
Version 1.04 du 19/10/2008
VBWinBackup fait la même chose que le menu contextuel
"Envoyer vers : Dossier compressé" de l'explorateur de fichier (sous
Windows XP). Cependant, le moindre fichier en cours d'utilisation (ou bien resté
verrouillé à la suite d'un plantage) provoque l'arrêt de la compression via
l'explorateur, sans même que Windows ne daigne préciser le fichier en question,
ce qui est donc inutilisable sur un grand nombre de fichiers. Au lieu de cela, VBWinBackup propose de réessayer (cela permet par exemple
de fermer un fichier Excel ouvert) ou bien d'ignorer le fichier.
Il y a une
astuce pour faire un backup (une sauvegarde) complet
de Windows permettant une restauration parfaitement valide : il suffit de faire
une installation
multi-boot sur une autre partition, cela ne pose aucun problème,
par exemple avec un Windows XP sur la partition C, et un autre sur la partition
D. Ainsi, avec le Windows C, vous pouvez sauvegarder et restaurer le Windows D,
et vice-versa, et de plus, vous pouvez restaurer autant d'image de Windows que
vous voulez, par exemple un Windows tout neuf (utile pour le test de
déploiement de vos logiciels), un Windows neuf mais patché
(utile pour repartir sur de bonnes bases), un point de restauration complet (y
compris les logiciels installés), un Windows pour le développement de logiciel
(utile pour modifier de vieux logiciels, par exemple pour faire un .mde avec Access 2000), pour le développement serveur (SQL
Serveur et ASP.Net), un Windows pour VMWare, pour les
jeux, pour tester un shareware limité dans le temps ou une version Bêta, pour
tester des logiciels à la con, ...
J'ai fait ce logiciel suite au constat que les
logiciels de compression gratuits que j'utilise, certains depuis plus de 15
ans, sont tous limités d'une façon ou d'une autre : PKZip25 a quelques bug de compression, InfoZip n'a aucun bug, mais il ne gère pas encore les accents
(v5.52), IZArc
est très pratique mais limité à quelques milliers de fichiers (insuffisant pour
compresser un Windows de développement), et enfin, la gestion des fichiers zip
de Windows XP est à la fois la plus pratique, mais de loin la plus boguée de
tous ces logiciels, et aussi la plus balourde parfois : impossible par exemple
de désactiver la recherche de fichier dans les fichiers zip (la parade consiste
à désactiver temporairement
la gestion des zip de Windows...),
impossible de désactiver l'analyse automatique des fichiers zip présents dans
un dossier ouvert dans l'explorateur (résultat : blocage complet de Windows
pour plusieurs minutes si vous avez un gros zip sur votre clé USB : la parade
consiste alors à mettre toujours le zip dans un sous-dossier), de nombreux
bogues de compression et décompression, notamment lors de la modification d'un
zip existant (parade : utiliser IZArc dans ce cas !),
...
Table des matières
Sauvegarde
complète de Windows XP
Gestion
des sommes de contrôle
Désactivation
de la gestion des zip de Windows
Limitations
des autres logiciels de compression
Copier
la dll SharpZipLib dans le GAC
Version
1.01 du 19/03/2006 : Première version
Utilitaires
gratuits de compression
Codes
sources pour la compression
Codes
sources pour la compression (VB6)
Codes
sources pour la gestion de fichier
Codes
sources pour la gestion de dossier
Découpeurs
de fichiers (FileSplitter)
Inventaire
logiciel et matériel (VB6)
Gestionnaires
de sauvegarde (logiciels de Backup)
Récupération
de fichiers (Undelete)
Voir
l'occupation des fichiers par dossier (SpaceMonger like)
Machines
virtuelles et images systèmes
- Nouveau
: création possible d'un fichier zip de taille > 2 Go (requiert une version >= 0.85
de SharpZipLib.dll) ;
- Récursivité
(compression de tous les sous-dossiers) ;
- Chemin
de compression relatif ;
- Conservation
des attributs des fichiers et dossiers (requiert une version >= 0.83 de
SharpZipLib.dll) ;
- Conservation
des dossiers vides ;
- Conservation
des accents dans les noms de fichier et dossier ;
- Détection
des erreurs (fichiers verrouillés) avec possibilité de réessayer / ignorer /
annuler ;
- Exclusion
possible des gros fichiers (par exemple > 100 Mo) ;
- Listage
des fichiers exclus (gros fichiers, fichiers verrouillés, fichiers
temporaires) ;
- Signalement
des gros fichiers triés par taille décroissante, ou bien de tous les fichiers
par ordre alphabétique ;
- Possibilité
de vérification rapide de l'accès aux fichiers sans compression.
- Les
caractères unicodes sont interdits dans les noms de fichier ou dossier (par
exemple C:\WINDOWS\Web\Wallpaper\Chœur d'étoiles.jpg),
il faut dire qu'il faut être un peu débile pour nommer un fichier comme
ça ! (le fichier sera transformé en "chour" par VBWinBackup,
tandis qu'avec la méthode "Envoyer vers : Dossier compressé", la
compression échouera). Le caractère ° est accepté, par exemple dans
"Fichier n°1.doc" ;
- L'algorithme
de compression est 5% moins performant que celui d'InfoZip, même au niveau max. 9 (tout en utilisant le niveau
moyen par défaut d'InfoZip) ; Par ailleurs, 7-Zip compresse de 2 à 4 fois mieux que le format standard
du zip, mais avec un format propriétaire ;
- Gestion
de l'erreur disque plein, par exemple sur une clé USB : l'erreur est mal
traitée, le logiciel plante sans que l'on puisse récupérer l'erreur, et le zip
est corrompu (il y a pourtant une gestion d'erreur globale, mais l'erreur
semble provoquer un crash au moment de quitter l'application, est-ce une erreur
de la plateforme DotNet ?) ;
- Une
sauvegarde complète de Windows requiert un multi-boot (à cause des nombreux fichiers verrouillés car en
cours d'utilisation).
Certains
fichiers ne sont pas copiables, on doit les exclure de la sauvegarde :
- Certains
fichiers du dossier MachineKeys ne sont pas copiables
(à priori cela dépend des logiciels installés). Il contient les certificats
machine, il vient avec le SP2 de Windows XP Edition familiale (mais pas avec la
version Pro à priori), on peut toutefois alors déplacer le dossier le temps
d'une sauvegarde :
"Documents and
Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys"
Dans ce cas de figure, en fait seul l'utilisateur
courant du Windows actif peut accéder et donc copier ces clés, et comme VBWinBackUp ne peut compresser Windows qu'en mode multi-boot, il ne peut donc jamais y avoir accès. Solution
palliative : faire une copie à part de ce dossier depuis le Windows lié à ces
clés (sinon consulter ce lien
pour copier ces clés) ;
- Certains
fichiers des dossiers de désinstallation ne sont pas copiables : Windows\~NTBackup et $NtUninstallKBxxxxxx$. Ils proviennent surtout
du SP2 de Windows XP, ce sont des dossiers permettant d'annuler une
installation, ce qui est rarement utile. Si on ne coche pas "Temp.", VBWinBackp exclus ces dossiers automatiquement ;
- Le dossier
système de la racine "System Volume Information" n'est pas
copiable ;
- S'il y
a eu un plantage auparavant, le fichier dump du Dr Watson n'est alors pas
copiable (accès refusé au fichier) :
"C\Documents
and Settings\All Users\Application Data\Microsoft\Dr Watson\user.dmp"
Copiez VBWinBackup et sa dll (ICSharpCode.SharpZipLib.dll) dans le dossier à compresser, et lancez, c'est tout !
Si le fichier zip existe déjà, il est entièrement recréé (tous les fichiers compressés sont donc à jour, tous les anciens fichiers compressés sont supprimés).
Sur un poste donné, vous pouvez aussi installer la dll dans le GAC une fois pour toute, ce qui est pratique.
Pour compresser Windows XP, placez VBWinBackup et sa dll n'importe où sur la partition où se trouve le Windows à compresser et cocher Windows XP (le multi-boot est requis). Une sauvegarde complète de Windows XP inclue les dossiers "Program Files", "Windows" et "Documents and Settings".
Les points de restauration de Windows XP se situent dans le dossier système caché "System Volume Information", par conséquent ils ne sont donc pas inclus dans la sauvegarde, de même pour la poubelle avec le dossier "RECYCLER".
Pour réduire la taille de la sauvegarde, VBWinBackup exclu par défaut les fichiers temporaires de
Windows XP, ainsi que les fichiers
temporaires d'Internet Explorer :
"Documents and
Settings\xxx\LocalSettings\Temporary Internet
Files\*"
Il faut
toutefois faire attention car certains logiciels y conservent des fichiers
d'installation requis pour la désinstallation, par exemple netfx.msi
et langpack.msi pour DotNet,
mais à la limite, il suffira de restaurer la sauvegarde adéquate en cas de
problème de désinstallation de certains logiciels.
On peut aussi
exclure le dossier Windows\SoftwareDistribution du
SP2, pour gagner de la place, mais là
aussi certains logiciels risquent de ne plus être désinstallables
(voir réparables même), une fois la sauvegarde restaurée.
Si vous n'arrivez pas à copier certains fichiers (du DotNet 2 par exemple), vous pouvez toujours utilisez la commande "Envoyer vers : Dossier compressé" de l'explorateur de fichier. Il suffit de tester auparavant avec VBWinBackup quels fichiers sont impossibles à copier, mais il faudra alors les déplacer. Attention dans ce cas à ne pas déplacer ces fichiers dans un dossier dont le chemin serait trop long, car il existe une limite à la longueur maximale des chemins, elle est de 259 caractères. Cela peut survenir notamment pour le contenu des dossiers \LocalSettings\Temporary Internet Files.
L'installation
multi-boot (amorçage multiple) n'est pas très
compliquée, lors de la phase de boot (démarrage) sur
le CD de Windows XP, il suffit de ne pas demander une réparation, mais bien une
nouvelle installation en appuyant sur la touche Echap,
au moment où le message correspondant apparaît ; l'opération ne prend 25
minutes (pensez à choisir un nom d'ordinateur différent, mais on peut aussi le
changer après coup). Avec un Windows XP sur C: et un autre sur D:, il n'y a
aucun fichier sur la racine du D, et les fichiers de boot
(dont boot.ini) sont communs aux 2 Windows sur la racine du C.
Notes :
- En multi-boot, il y a des points de restauration indexés indépendamment pour chaque système d'exploitation XP, ils coexistent donc sans risque de collision (il semble quand même que ChkDsk s'emmêle un peu avec le dossier "System Volume Information", car on trouve des erreurs sur C: et pas sur le D: depuis le Windows C alors qu'on en trouve sur le D: et pas sur le C: depuis le Windows D, ce qui n'est pas très cohérent, et il n'est pas possible de corriger ces pseudo-erreurs ; de toute façon, je n'ai pas constaté de problème particulier depuis plus de 6 mois) ;
- Le déplacement des dossiers de Windows est instantané avec Windows XP Pro (en tout cas au début, car ce n'est plus le cas maintenant, plusieurs minutes !), mais prend prêt d'une minute avec la version Home Edition (familiale) : cette manipulation suffit en multi-boot à permuter l'installation de Windows de l'autre partition avec une 3ème installation. Le temps de redémarrer sur l'autre Windows, on peut donc changer de Windows en moins d'une minute ;
- Si vous voulez mixer plusieurs versions de Windows en multi-boot, installez toujours la plus récente en dernier, et faite attention à la restauration, c'est plus délicat (ne pas restaurer la racine : faire une racine valable dans tous les cas).
Liens :
www.microsoft.com/windows/multiboot.asp
http://support.microsoft.com/default.aspx?scid=kb;fr;306559
Attention au
nombre maximum d'installation de Windows XP avec la même clé (entre 5 et 10
fois environ, je n'ai pas vraiment compté combien de fois j'ai installé, mais
en tout cas j'ai atteint la limite !). Cependant, on peut alors dans ce cas
activer par téléphone gratuitement et sans justification à fournir en appelant
le serveur vocal ici : 0800 228 482 (n° vert), l'opération prend 5 minutes. Il
y a juste un petit hic : cela ne marche qu'une fois ! après il faut se
justifier auprès de l'opérateur au bout du fil : "le pilote de ma carte
réseau Intel (e100b325.inf version 7.1.12.0) fait des trous au hasard sur mon
disque dur (2 réinstallations de Windows avant de comprendre l'origine de la
perte aléatoire de fichiers perso et système), en plus j'ai fait un multi-boot, donc double activation à chaque fois, et aussi
j'avais acheté auparavant un ordi, installé et
activé... et finalement je l'ai rapporté chez le vendeur parce qu'il faisait
trop bruit quand je regardais un DVD (oui c'est possible chez planète-saturn, sans plus de justification !)."
Notes :
- Finalement, l'activation automatique par serveur vocal a fonctionné une seconde fois ;
- Pour
pouvoir faire des tests de déploiement de logiciels, on peut faire par exemple
une sauvegarde après chaque grande étape de l'installation ;
- L'activation
du Windows D dépend également du disque dur de boot
C: : le changement du disque dur principal C: entraîne la désactivation de Windows
D, qui doit être refaite dans les 3 jours !!! Le pire, c'est que cela persiste
même si on rétablit le matériel ! Cependant, le backup
rétabli l'activation ancienne (mais on doit conserver l'ancien matériel de
l'activation)... sauf Office XP, qui est définitivement perdu ! il faut alors repartir d'un backup
sans Office XP et le réinstaller complètement. Conclusion : ne changez plus de
matériel une fois tout installé, ou bien alors réactivez normalement Windows
(je n'ai pas testé cette solution) ;
- Evitez le formatage rapide, car il modifie le n° de série du volume, qui est pris en compte par l'activation. D'une manière générale, la restauration d'un backup de Windows doit se faire sur le même matériel, au même endroit (même lettre de partition, même numéro de série). L'activation peut se faire avant l'installation des pilotes ;
- FAQ
Activation Microsoft :
http://support.microsoft.com/default.aspx?scid=kb;fr;302878
- Serveur
vocal d'activation Microsoft (n° vert, gratuit aussi sur la FreeBox,
de 8h à 22h 7j/7) :
0
800 228 482, autres numéros utiles :
www.microsoft.com/france/core/contacteznous/numeroutile.aspx
- Pour
générer des clones de poste dans une entreprise, il y a des logiciels dédiés
(c'est la masterisation, ou fabrication de CD
"master" pour effectuer le clonage des postes), ce n'est pas
l'objectif ici avec VBWinBackup.
La somme de contrôle (ChekSum)
permet de vérifier l'intégrité d'un fichier et donc la fiabilité du support de
sauvegarde sur lequel il a été copié : clé USB, CD-Rom...
: elle fait partie intégrante du format zip, et il n'y
a rien de particulier à coder pour obtenir cette fonctionnalité, en tout cas
avec SharpZipLib. Dans Windows, la somme de contrôle
n'est signalée que d'une façon globale lors de la décompression d'un zip,
tandis qu'avec IZArc, on peut savoir
précisément, le cas échéant, quel fichier est corrompu (les autres fichiers
pouvant être restaurés sans problème).
Cette commande évite la pénible analyse automatique des fichiers zip :
regsvr32 /u "c:\windows\system32\zipfldr.dll"
Réactivation de la gestion des zip de Windows : simplement faire un double clic sur un fichier zip, ou bien :
regsvr32 "c:\windows\system32\zipfldr.dll"
Avec l'explorateur de fichier, le copier/coller conserve les attributs de dossier et fichier dans le zip (mais Windows ne les affiche pas dans le zip), de même que la méthode "Envoyer vers : Dossier compressé", mais lors de la restauration, le copier/coller ne conserve pas les attributs de dossier : il faut utiliser l'assistant pour l'extraction pour que ces attributs soient conservés, sauf la date des dossiers, qui est perdue, ainsi que l'attribut de compression NTFS.
IZArc ne stocke pas les attributs de dossier et ne les restaure pas non plus (si le zip en contient). La date des dossiers est perdue aussi. Cependant, IZArc gère bien les accents, sauf pour les dossiers vides !
Voir aussi : Limitations des autres compresseurs.
A signaler aussi l'excellent 7-Zip, qui est capable de compresser de 2 à 4 fois plus que le zip, ce qui est proprement incroyable, une véritable révolution depuis l'apparition de PKZip en 1993 ! Cependant, les fichiers ainsi compressés ne peuvent être décompressés que via 7-Zip ou IZArc (ce ne sont pas des zip standards).
Notes :
- Pour PKZip25, si la taille devient supérieure à 2Go, le mot de passe ne fonctionne pas pour les fichiers qui dépassent la limite ;
- Sur une partition FAT32, la taille des fichiers est limitée à 2 Go.
Il suffit de taper la commande suivante :
gacutil.exe /i ICSharpCode.SharpZipLib.dll
gacutil.exe se trouve dans le SDK de DotNet :
C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\gacutil.exe
et il faut le lancer via le menu : Démarrer : Programmes : Microsoft Visual Studio .NET 2003 : Outils Visual Studio .NET : Visual Studio .NET 2003 Command Prompt
C'est un des raccourcis installés par VSN2003, qui pointe vers :
"C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\Tools\vsvars32.bat"
Si la dll n'est pas trouvée, alors indiquez son chemin complet.
Une fois la dll copiée dans le GAC, il n'est plus nécessaire de la joindre avec l'exécutable VBWinBackup.
Pour retirer la dll du GAC, la syntaxe est différente, car il ne faut pas préciser ni le chemin, ni l'extension .dll :
gacutil.exe /u ICSharpCode.SharpZipLib
Pour savoir par le code si la dll est installée dans le GAC ou pas, il faut tester avec la fonction Reflection.Assembly.LoadWithPartialName et non pas avec LoadFrom, voir ma fonction bDllInstalleeGAC.
- Gérer
un double % d'avancement comme IZArc : un pour le
fichier en cours et un autre pour le total (requiert le parcourt des fichiers
au préalable) ;
- Faire
une fonction pour décompresser une archive avec les attributs (car Windows ne
rétabli pas la date des dossiers) : il y a déjà une fonction bDezipper qui marche, mais elle n'a pas été testée sur de
très gros zip (et la restauration des attributs n'a pas été faite) ;
- Faire
une hastable des fichiers pour éviter de sauver
plusieurs fois le même fichier dans le zip. Pour détecter les doublons
probables, il suffit de comparer la taille et la date, puis de vérifier si les
fichiers ont la même somme de contrôle (ChekSum).
Ensuite, il faudra forcement changer l'extension du fichier zip de manière à
traiter la restauration des doublons à leur emplacement respectif via un
logiciel dédié : changer l'extension de zip en zop ou
n'importe qu'elle nouvelle extension valable pour un fichier de
sauvegarde ;
- Gérer
les "Alternate Data Streams"
: il s'agit de flux média associés à un fichier, des sortes de bout de fichier
associé dont Windows indique parfois qu'il seront perdus lorsque l'on copie le
fichier principal d'une partition à une autre. Dans ce cas aussi il faudra une
extension distincte du zip pour les restaurer ;
- Gérer
les erreurs avec ou sans interruption au choix (case à cocher : avec
interruption : poser la question, sans interruption : simple rapport
d'échec) ;
- Intégrer
un FileSplitter
(découpeur/recolleur de fichier) pour gérer
l'archivage des gros fichiers sur un lecteur externe ;
- Tester mono : on pourrait booter un
micro linux du type knoppix
sur une clé USB et faire une sauvegarde/restauration de Windows sans avoir
besoin de multi-boot
!
Ca ne marche
pas ! l'intérêt d'utiliser la gestion intégrée des zip
du FrameWork 2 serait d'éviter de se trimbaler la dll de compression, car une librairie zip est déjà inclue
en standard dans la nouvelle plate-forme. Cependant, j'ai bien peur que cela ne
soit possible, car dans un
article MSDN sur le sujet,
il est clairement indiqué que pour compresser des fichiers et non un simple
flux, il faut... se rabattre sur la fameuse librairie SharpZipLib
!!! (2 solutions possibles : copier
la dll dans le GAC, ou intégrer les
sources en C# de la dll dans le projet).
J'avais
commencé une classe VB6 de compression basée sur le
code de VBAccelerator, mais je ne l'ai jamais terminée car il y a des
limitations : la dll doit être copiée dans le
répertoire système de Windows (rédhibitoire !) et les fichiers cachés sont
ignorés.
Cependant, les
exemples fournis en DotNet2 avec la librairie SharpZipLib incluent un wrapper
(adaptateur) pour VB6, qui requiert quand même la plateforme DotNet2, mais
appelée depuis VB6.
- Présentation
des fichiers : nouveau tri : par taille dans le sous-dossier (fonctionnalité
comme SpaceMonger), menu contextuel pour faire
directement le bilan de l'encombrement des dossiers ;
- Case à
cocher Sans compression (simple stockage zip rapide) ;
- Correction
de bug : utilisation sur la racine d'un lecteur ;
- Correction
de bug : la simple énumération de fichier peut échouer (droit de lecture) : try/catch ;
- Passage
en VB2008.
- Case à
cocher Ignorer les erreurs pour ignorer automatiquement les fichiers
inaccessibles (protégés, verrouillés, ...) ;
- Passage
en DotNet2 (utilisation de la version DN2 de SharpZipLib
: version 0.85.4.369).
- Vérification
si la dll SharpZipLib
est dans le GAC ou pas ;
- Mise à
jour de la librairie SharpZipLib en version
0.85 : il est maintenant possible de créer un fichier zip de taille > 2 Go ;
- Option
simple copie de fichier : utile pour sélectionner les fichiers de Windows à
compresser via un autre utilitaire (par exemple plus efficace comme 7-Zip).
- Librairie SharpZipLib gratuite avec le code source en C#
www.icsharpcode.net/OpenSource/SharpZipLib
- IZArc, le plus pratique des zip gratuits
www.01net.com/telecharger/windows/Utilitaire/compression_et_decompression/fiches/27887.html
- 7-Zip, le plus performant des compresseurs gratuits
- Librairie Info-Zip multi-plateforme avec les sources
- Les précurseurs du zip
- Les exemples de programmation du zip en DotNet2 (VB8/2005)
Compression et cryptage Partie II : Implémentation de la compression et du cryptage des fichiers dans VB6 à l'aide de Microsoft .NET Framework 2
www.microsoft.com/france/msdn/vbasic/smallandunreadable2.mspx
Small and Unreadable Part II : Implementing file compression and encryption in VB6 using the Microsoft .NET Framework
http://msdn.microsoft.com/vbrun/vbfusion/smallandunreadable2
- Compression/décompression d'un seul fichier via la librairie intégrée de compression du DotNet2 : cela fonctionne, mais il ne s'agit pas d'un zip standard, il ne s'agit que d'un flux compressé pour un seul fichier, qui ne peut être décompressé que par la méthode inverse
http://msdn.microsoft.com/vstudio/downloads/101samples/default.aspx
\101 Samples\VB101SamplesBCL\Compression\Compression.sln
- Voir aussi l'exemple du SDK du DotNet3 : cette fois il y a les sources pour le ZipEntry, mais le nom du fichier archive est .xip et non .zip et je n'ai pas réussi à le faire fonctionner (de toute façon les sources de SharpZipLib sont fournies)
C:\Program Files\Microsoft SDKs\Microsoft SDKs\Windows\v6.0\Samples\
FrameworkSamples\Applications\CompressionSample\VB\CompressionVB.sln
- [.Net2]
Utiliser la compression de fichiers native de Windows2000/XP
www.vbfrance.com/code.aspx?ID=37886
- Compression
gzip / zip : utilisation de zlib
www.cppfrance.com/code.aspx?ID=19614
- [.NET2]
Compression/Décompression gzip de fichier grâce à IO.Compression
www.vbfrance.com/code.aspx?ID=41866
- Décompresser
en tâche de fond
www.codeproject.com/useritems/MassiveUnzip.asp
- Steganography 16 - Hiding additional files in a ZIP archive
www.codeproject.com/csharp/steganodotnet16.asp
- www.codeproject.com/vb/net/VB_LZW.asp
- www.codeproject.com/cs/files/CABCompressExtract.asp
- Autre
solution possible pour les zip en DotNet : utiliser
la librairie du J#
(mais il n'est pas sûr qu'elle soit incluse dans le DotNet standard, à prévoir pour la distribution)
www.codeproject.com/useritems/cpzipstrip2.asp
- Net-2
Compression de fichier en zip avec l'aide de VJ# et en gzip
avec l'ajout du nom de fichier
www.vbfrance.com/code.aspx?ID=43939
- Compression
/ décompression à partir du SDK LZMA de 7zip (multi fichier)
www.csharpfr.com/code.aspx?ID=43866
- Tous
les formats zip
www.codeproject.com/useritems/Archive_Operations.asp
- Classe
zip pour zipper ou dézipper
www.vbfrance.com/code.aspx?ID=40387
- Zipper
un fichier en utilisant la fonction de compression intégrée à Windows XP (shell ?)
www.vbfrance.com/code.aspx?ID=40998
- GetFileSize - Récupérer la taille de fichiers, même > 4
Go
www.vbfrance.com/code.aspx?ID=38545
- Utilisation
wmi et win32_logicaldisk
www.csharpfr.com/code.aspx?ID=41295
- VB6:
Récupérer simplement les informations d'un fichier
www.vbfrance.com/code.aspx?ID=40819
- Comment tirer profits
des fonctions de ChkDsk (fmifs.dll) sous XP avec du
code VB.Net...
www.vbfrance.com/code.aspx?ID=35536
- Changer
le n° de série d'un volume (Win32)
www.cppfrance.com/code.aspx?ID=19700
- Analyse disques et
partitions (VB6)
www.vbfrance.com/code.aspx?ID=43673
- Défragmenter un
fichier (VB6)
www.vbfrance.com/code.aspx?ID=40578
- www.codeproject.com/cs/files/MassRENAMER.asp
- Jongler avec les
dossiers spéciaux (VB6)
www.vbfrance.com/code.aspx?ID=37719
- Un programme pour personnaliser
les dossiers de Windows (VB6)
www.vbfrance.com/code.aspx?ID=43415
- Gérer les dossiers
personnalisés de WinXP (Mes Docs, Mes Images, ...) et
en faire des nouveaux
www.codeproject.com/useritems/CustomizingFolders.asp
- Fermer un fichier
ouvert par une autre application (VB6)
www.vbfrance.com/code.aspx?ID=35142
- Savoir quel fichier
est utilisé par telle application : la liste des fichiers ouverts sur le
système (pour nt/2k/xp) en
VB6 et en C
www.vbfrance.com/code.aspx?ID=28627 et 36281
- Détecter qui a des
fichiers ouverts sur un serveur
www.codeproject.com/dotnet/OpenFiles.asp
- Visual
browsing of alternative data-streams
in Windows Explorer
www.codeproject.com/csharp/CsADSDetectorArticle.asp
- A GUI Extension of the NTFS Library written by Richard Deeming
Find and delete
NTFS Alternate Data Streams
(ADS) By Marco Roello
www.codeproject.com/csharp/ntfsguiextension.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/ntfs5.asp
- Les flux cachés dans
NTFS (Alternate Data Stream)
en VB6
www.vbfrance.com/code.aspx?ID=39672
- [.NET2] Lecture des
flux cachés dans un fichier d'un lecteur NTFS
www.csharpfr.com/code.aspx?ID=41160
- Gestion des mots de
passe de Internet Explorer, Outlook Express, MSN Messenger, MSN Explorer, RAS, WMail...en VB.Net... (copie
possible des MachineKeys ?)
www.vbfrance.com/code.aspx?ID=40918
- Liens symboliques
NTFS :
www.codeproject.com/useritems/JunctionPointsNet.asp
- Vista Directory Links
in .NET
www.codeproject.com/useritems/Windows_Vista.asp
- Reparse
Points in Vista
www.codeproject.com/KB/vista/ReparsePointID.aspx
- FileSplitter,
un utilitaire pour découper et joindre des fichiers
www.csharpfr.com/code.aspx?ID=28107
- FileSplitter
amélioré : www.csharpfr.com/code.aspx?ID=41506
- The
FileSplitter reLoaded
www.codeproject.com/KB/cs/The_FileSplitter_v2.aspx
- [.Net2] Créer une
image iso à partir d'un disque
www.vbfrance.com/code.aspx?ID=38076
- Faire fichier iso
(Win32)
www.cppfrance.com/codes/FAIRE-FICHIER-ISO-WIN32_37943.aspx
- Fichier image iso 9660
- lecture + extraction du contenu
www.vbfrance.com/code.aspx?ID=42585
: Version VB.Net de :
www.csharpfr.com/code.aspx?ID=41503
- www.codeproject.com/cs/miscctrl/FileBrowser.asp
- Listez vos fichiers
facilement et rapidement (VB6)
www.vbfrance.com/code.aspx?ID=43640
- Gestion de fichier
simple
www.codeproject.com/useritems/File_Copy_Delete_Browser.asp
- YommExplorer.Net
Explorer / Explorateur de dossiers répertoires fichiers (vrais icônes, menu
contextuel, rafraîchissement auto, lien entre arborescence dossiers et liste
fichier)
www.vbfrance.com/code.aspx?ID=42960
- www.vbfrance.com/codes/LISTE-SOFT_44358.aspx
- www.vbfrance.com/codes/LISTE-HARD_44357.aspx
- Lecteur réseau
déconnecté (shell) : Mapper un lecteur réseau
(connexion et déconnexion)
www.vbfrance.com/code.aspx?ID=3165
- Mapper un disque
réseau
www.vbfrance.com/code.aspx?ID=40622
- Création et suppression
d'un partage réseau par code en C# via WMI
www.dotnet-project.com/Astuces-creation-et-suppression-d-un-partage-reseau-par-code.50.aspx
- Synchronisation de
répertoire
www.codeproject.com/csharp/SyncToyExec.asp
- Multithreading
Backup Utility
www.codeproject.com/vb/net/Multithreaded.asp
- Minimizing
the need to restore a backup
www.codeproject.com/showcase/RedGate_Backup3.asp
www.codeproject.com/showcase/RedGate_Backups.asp
- www.codeproject.com/useritems/backupcriticalfiles.asp
- www.codeproject.com/useritems/DirectoryCopy.asp
- NTFS Recover : Récupérer les fichiers effacés d'une partition
NTFS (en VB6 via une dll)
www.vbfrance.com/code.aspx?ID=44163
- FAT Recover : Récupérer les fichiers effacés de vos partitions
FAT (carte mémoire & co) en VB6
www.vbfrance.com/code.aspx?ID=44151
- SpaceMonger
like : http://en.wikipedia.org/wiki/SpaceMonger
- WinDirStat
: http://windirstat.info
- TreeSize
Free V2.1 : www.jam-software.com/freeware/index.shtml
- Pour Palm : VFSUsage (v 2.0)
- Pour MacOS + src : Disk
Inventory X
- Machine virtuelle VMWare gratuite pour lancer des systèmes d'exploitation prêts à l'emploi sans quitter le vôtre
www.vmware.com/products/player
Exemple de
système d'exploitation prêt à l'emploi : un navigateur FireFox
sous Linux
www.vmware.com/vmtn/vm/browserapp.html
- Création d'une image
normalisée pour le déploiement
www.microsoft.com/france/technet/desktopdeployment/imaging/imagingstep1.mspx
- ImageX : utilitaire d'image à la ghost
(inclut dans le kit Waik, qui comprend aussi Windows
System Image Manager)
- Virtual PC 2007 : fourni avec la version pro de Vista
(limitation : Windows XP home édition non supportée !)
- Voir aussi
les logiciels payants : True Image, Norton Ghost ou ImageCast.
- Zip Backup : un fichier batch MS-Dos
sous Win32 pour faire des sauvegardes faciles et pratiques
http://patrice.dargenton.free.fr/divers/zipbackup.html
- AutoLogOn Windows XP : Lancer : CONTROL USERPASSWORDS2 et
décocher !
- AccessBackUp : Un gestionnaire de sauvegarde de base de
données Access (ou autre fichier)
www.vbfrance.com/code.aspx?ID=33732