Sur Word pour Mac (2023/2024), chaque enregistrement crée un sous-dossier « Backups » par document, ce qui peut générer des dizaines de milliers de dossiers. Voici des méthodes concrètes pour éliminer cet encombrement tout en conservant un historique local fiable des sauvegardes (.wbk).
Problème
Depuis Office 2023 pour Mac, l’activation de l’option Toujours créer une copie de sauvegarde génère par défaut un sous-dossier « Backups » à côté de chaque fichier. Ce dossier contient le .wbk (la copie précédente du document). Résultat : un arbre de dossiers massifs, parfois jusqu’à 35 000 répertoires, qui ralentit la recherche Spotlight, encombre iCloud Drive et complique la maintenance.
Ce qui change par rapport aux versions précédentes : jusqu’à Word 2018 (v16.x), le .wbk était souvent placé dans le même dossier que le .docx, sans sous-dossier dédié. Dans Word 2023/2024, macOS reçoit un .wbk isolé dans « NomDuFichier Backups ». Aucune préférence graphique ne ramène l’ancien comportement « plat ».
État des lieux par version
- Word 2018 (v16.x) : le phénomène peut être stoppé en décochant Toujours créer une copie de sauvegarde. Aucun dossier « Backups » n’est alors créé.
- Word 2023/2024 : la même option existe, mais de nombreux utilisateurs souhaitent conserver les .wbk tout en supprimant la prolifération des « Backups ».
Solutions déjà évoquées
Mesure proposée | Où l’activer | Effet | Limite |
---|---|---|---|
Désactiver “Toujours créer une copie de sauvegarde” | Word ▸ Préférences ▸ Enregistrement | Plus aucun dossier ni fichier .wbk | Perte des sauvegardes locales automatiques |
Désactiver iCloud « Bureau & Documents » | Réglages Système ▸ Identifiant Apple ▸ iCloud Drive | Évite la réapparition de dossiers après vidage de la Corbeille | Ne supprime pas la création initiale par Word |
Comprendre les .wbk et l’option de sauvegarde
Le fichier .wbk
est une copie de la version précédente du document, créée à l’enregistrement. Cette sauvegarde est indépendante d’AutoRecover et peut sauver la mise en cas d’erreur humaine (écrasement, suppression de contenu). En revanche, multiplier les sous-dossiers « Backups » alourdit la navigation et la synchronisation, notamment avec iCloud (Bureau & Documents).
Alternatives natives
- OneDrive / SharePoint — Historique des versions : conserve chaque version dans le cloud, sans générer de dossiers locaux. Idéal si vos documents vivent dans OneDrive/SharePoint.
- Time Machine : protège tout le dossier Documents de façon incrémentielle. Parfait en secours, mais moins granulaire que les .wbk par document.
Stratégies recommandées selon votre besoin
Profil | Recommandation | Pourquoi |
---|---|---|
Vous pouvez renoncer aux .wbk | Désactivez copie de sauvegarde et misez sur Time Machine / OneDrive | Configuration simple, zéro « Backups », historique assuré ailleurs |
Vous tenez aux .wbk | Gardez l’option active, mais automatisez le déplacement/ nettoyage des « Backups » | Vous conservez l’historique local tout en éliminant les milliers de dossiers |
Procédure rapide pour limiter le désordre
- Laissez activée l’option Toujours créer une copie de sauvegarde si vous avez besoin des .wbk.
- Centralisez toutes les sauvegardes dans un répertoire unique (ex.
~/Documents/Word_Backups
). - Automatisez le déplacement des .wbk et la suppression des dossiers « Backups » vides via un script planifié.
- Envoyez un feedback à Microsoft pour demander un réglage répertoire de sauvegarde central sur macOS (équivalent de la clé Windows
BackupDirectory
).
Nettoyer et centraliser avec un script zsh
Le script ci‑dessous déplace chaque fichier .wbk
depuis « NomDuFichier Backups » vers un dépôt central en préservant une part du contexte (répertoire d’origine et horodatage). Il supprime ensuite le dossier « Backups » s’il est vide. Il propose aussi un mode simulation pour vérifier sans rien modifier.
#!/bin/zsh -f
# word_backups_tidy.zsh — centraliser les .wbk et supprimer les dossiers « Backups »
# Usage :
# ./word_backups_tidy.zsh --dry-run # simulation
# ./word_backups_tidy.zsh # action réelle
# ./word_backups_tidy.zsh --dest="~/Documents/Word_Backups" --root="~/Documents"
set -euo pipefail
DEST="${HOME}/Documents/Word_Backups"
ROOTS=("${HOME}/Documents")
DRYRUN=0
LOGFILE="${HOME}/Library/Logs/word_backups_tidy.log"
usage() {
cat <<'EOF'
Usage: word_backups_tidy.zsh [options]
--dest=<chemin> Dossier central des sauvegardes (.wbk)
--root=<chemin> Point(s) de recherche (répéter l’option si besoin)
-n, --dry-run Simulation, aucun fichier déplacé ni supprimé
-h, --help Aide
EOF
}
# Parsing simple des arguments
while [[ $# -gt 0 ]]; do
case "$1" in
--dest=*) DEST="${1#*=}";;
--root=*) ROOTS+=("${1#*=}");;
-n|--dry-run) DRYRUN=1;;
-h|--help) usage; exit 0;;
*) ROOTS+=("$1");;
esac
shift
done
log() { print -r -- "[$(date '+%F %T')] $*" | tee -a "$LOGFILE" > /dev/null; }
# Normalise et crée le répertoire destination
eval DEST="$DEST"
mkdir -p "$DEST"
typeset -i moved=0 removed=0 scanned=0
for root in "${ROOTS[@]}"; do
eval root="$root"
[[ -d "$root" ]] || continue
# Pour chaque dossier "* Backups"
while IFS= read -r -d '' bdir; do
scanned=$((scanned+1))
parent="$(dirname "$bdir")" # répertoire du .docx
rel="${parent#$HOME/}" # chemin relatif à $HOME
# Pour chaque fichier .wbk à l’intérieur
while IFS= read -r -d '' wbk; do
bn="${${wbk:t}%.*}" # base name sans extension
# horodatage basé sur la mtime du .wbk
if ts="$(stat -f '%Sm' -t '%Y-%m-%d_%H-%M-%S' "$wbk" 2>/dev/null)"; then
stamp="$ts"
else
stamp="$(date '+%Y-%m-%d_%H-%M-%S')"
fi
dstdir="${DEST}/${rel}"
dst="${dstdir}/${bn}.${stamp}.wbk"
if [[ $DRYRUN -eq 1 ]]; then
log "MOVE "$wbk" -> "$dst""
else
mkdir -p "$dstdir"
# évite l’écrasement si le même nom existe déjà
if [[ -e "$dst" ]]; then
i=1
while [[ -e "${dst%.wbk}(${i}).wbk" ]]; do ((i++)); done
dst="${dst%.wbk}(${i}).wbk"
fi
mv -n "$wbk" "$dst"
log "MOVED "$wbk" -> "$dst""
moved=$((moved+1))
fi
done < <(find "$bdir" -type f -name '*.wbk' -print0)
# supprime le dossier « Backups » s’il est vide
if [[ $DRYRUN -eq 1 ]]; then
log "RMDIR if empty: "$bdir""
else
if rmdir "$bdir" 2>/dev/null; then
log "REMOVED empty dir "$bdir""
removed=$((removed+1))
fi
fi
done < <(find "$root" -type d -name '* Backups' -print0)
done
log "SUMMARY scanned=$scanned moved=$moved removed=$removed"
Testez d’abord en simulation :
chmod +x ~/Scripts/word_backups_tidy.zsh
~/Scripts/word_backups_tidy.zsh --dry-run
Puis exécutez réellement :
~/Scripts/word_backups_tidy.zsh
Planifier l’exécution automatique avec LaunchAgents
Pour lancer le script chaque soir à 20 h, créez un agent launchd
dans ~/Library/LaunchAgents
.
- Enregistrez le script dans
~/Scripts/word_backups_tidy.zsh
. - Créez le fichier
~/Library/LaunchAgents/com.<UTILISATEUR>.word-backups-tidy.plist
avec le contenu suivant (adaptez le chemin et <UTILISATEUR>) :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.<UTILISATEUR>.word-backups-tidy</string>
<key>ProgramArguments</key>
<array>
<string>/bin/zsh</string>
<string>/Users/<UTILISATEUR>/Scripts/word_backups_tidy.zsh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key><integer>20</integer>
<key>Minute</key><integer>0</integer>
</dict>
<key>RunAtLoad</key><true/>
<key>StandardOutPath</key><string>/Users/<UTILISATEUR>/Library/Logs/word_backups_tidy.out</string>
<key>StandardErrorPath</key><string>/Users/<UTILISATEUR>/Library/Logs/word_backups_tidy.err</string>
</dict>
</plist>
Charger l’agent :
launchctl load -w ~/Library/LaunchAgents/com.<UTILISATEUR>.word-backups-tidy.plist
# Lancer immédiatement si besoin
launchctl start com.<UTILISATEUR>.word-backups-tidy
Astuce : si iCloud « Bureau & Documents » est activé, évitez d’exécuter le nettoyage pendant une synchronisation lourde pour ne pas multiplier les transferts. Lancez le script quand la synchro est calme.
Alternative : macro VBA qui sauvegarde l’ancienne version et efface le dossier « Backups »
Vous préférez une approche intégrée à Word ? La macro ci‑dessous enregistre automatiquement une copie datée de votre document (avant chaque Enregistrer) dans ~/Documents/Word_Backups
, puis supprime le dossier « NomDuFichier Backups » s’il est vide. Elle ne dépend pas des .wbk : elle stocke des .docx
complets.
Pré-requis
- Ouvrez l’éditeur VBA (Outils ▸ Macro ▸ Visual Basic).
- Outils ▸ Références : cochez Microsoft Scripting Runtime.
- Enregistrez dans Normal.dotm pour un effet global.
Classe d’événements
Insérez un Module de classe nommé AppEventsClass et collez :
Option Explicit
Public WithEvents App As Word.Application
Private Sub App_DocumentBeforeSave(ByVal Doc As Document, ByVal SaveAsUI As Boolean, ByVal Cancel As Boolean)
On Error Resume Next
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
Dim backupRoot As String
backupRoot = Environ$("HOME") & "/Documents/Word_Backups/"
If Not fso.FolderExists(backupRoot) Then fso.CreateFolder backupRoot
Dim base As String, stamp As String
base = fso.GetBaseName(Doc.Name)
stamp = Format(Now, "yyyy-mm-dd_hh-nn-ss")
' 1) Sauvegarder une copie de la version en cours (avant l’enregistrement utilisateur)
Dim copyName As String
copyName = backupRoot & base & "_" & stamp & ".docx"
Doc.SaveCopyAs FileName:=copyName
' 2) Supprimer le dossier « Backups » du document s’il est vide
Dim bdir As String
bdir = Doc.Path & "/" & base & " Backups"
If fso.FolderExists(bdir) Then
On Error Resume Next
fso.DeleteFolder bdir, True
End If
End Sub
Initialisation dans Normal.dotm
Dans Normal ▸ ThisDocument, ajoutez :
Option Explicit
Dim gAppEvents As New AppEventsClass
Sub AutoExec()
Set gAppEvents.App = Word.Application
End Sub
Redémarrez Word. À chaque Enregistrer, la copie datée apparaît dans ~/Documents/Word_Backups
. Vous pouvez garder également l’option .wbk activée ; le dossier « Backups » sera purgé s’il devient vide.
Nettoyage massif en toute sécurité
Avant de supprimer des milliers de dossiers, mesurez l’ampleur et faites un test ciblé.
Compter les dossiers « Backups »
find ~/Documents -type d -name "* Backups" | wc -l
Lister un échantillon
find ~/Documents -type d -name "* Backups" | head -n 20
Déplacer vers la Corbeille via Finder (plus sûr, mais lent)
La commande suivante envoie chaque dossier vers la Corbeille (visible dans le Dock). Avec 35 000 dossiers, attendez‑vous à une opération longue ; procédez par lots si nécessaire.
find ~/Documents -type d -name "* Backups" -print0 | \
while IFS= read -r -d '' path; do
osascript -e 'tell application "Finder" to delete POSIX file "'$path'"'
done
Supprimer uniquement les dossiers vides
Si vous avez déjà centralisé les .wbk, un grand nombre de « Backups » seront vides ; effacez‑les en une passe rapide :
find ~/Documents -type d -name "* Backups" -empty -delete
Prudence : évitez rm -rf
tant que vous n’avez pas vérifié que les .wbk ont été copiés ailleurs. Travaillez par répertoires (projets ou clients) et conservez une sauvegarde Time Machine récente.
Bonnes pratiques pour un écosystème plus propre
- Un dépôt de sauvegarde unique (
~/Documents/Word_Backups
) : facile à sauvegarder, à auditer, et à nettoyer. - Nommer avec des horodatages (
AAAA-MM-JJ_HH-MM-SS
) : tri naturel, récupération rapide. - Planifier un nettoyage quotidien ou hebdo avec
launchd
(ou mensuel si le volume est faible). - Étiqueter ou archiver mensuellement les sauvegardes dépassant un certain âge (ex. plus de 90 jours) : vous gagnez de l’espace sans perdre l’historique récent.
- Sur OneDrive/SharePoint : profitez de l’historique des versions pour les documents partagés ; gardez les .wbk pour le travail hors‑ligne ou sensible.
FAQ
Peut‑on supprimer tous les dossiers « Backups » ?
Oui, mais Word les recréera à l’enregistrement suivant si l’option .wbk reste active. La bonne approche est de déplacer les .wbk puis de supprimer les dossiers vides, idéalement de façon automatique.
Les .wbk sont‑ils indispensables si j’utilise OneDrive ?
Pas forcément. L’historique des versions OneDrive/SharePoint couvre la plupart des accidents. Gardez toutefois une seconde ligne de défense (Time Machine) pour les travaux hors connexion.
Pourquoi iCloud « Bureau & Documents » complique‑t‑il le ménage ?
Chaque suppression locale déclenche une synchronisation. Sur d’énormes volumes, certains dossiers peuvent réapparaître pendant l’opération. Travaillez par lots et laissez la synchro se stabiliser entre deux passes, ou mettez temporairement en pause.
Existe‑t‑il un réglage macOS équivalent à la clé Windows BackupDirectory
?
Non. Sur macOS, Word ne propose pas (aujourd’hui) de choisir un emplacement global pour les .wbk ; d’où l’intérêt du script/macro de contournement et des retours via Aide ▸ Commentaires.
Checklist d’implémentation
- Créer
~/Documents/Word_Backups
. - Placer le script
word_backups_tidy.zsh
dans~/Scripts
, tester en –dry-run. - Exécuter réellement, puis instaurer un LaunchAgent.
- (Optionnel) Installer la macro VBA pour disposer d’une copie .docx datée à chaque enregistrement.
- Planifier un archivage/rotation (ex. suppression des sauvegardes > 180 jours).
Conclusion
En l’état, Word pour Mac ne permet pas de revenir, via l’interface, au .wbk « plat » dans le même dossier que le document. La combinaison option .wbk activée + script/macro de centralisation élimine la prolifération des « Backups » tout en préservant un véritable historique local. Selon votre contexte (OneDrive/SharePoint, Time Machine, iCloud), choisissez la dose d’automatisation qui vous convient et gardez la maîtrise de vos sauvegardes.
Annexe : variantes de scripts utiles
Ne déplacer que les .wbk récents (7 jours)
find ~/Documents -type f -name "*.wbk" -mtime -7 -print0 | \
xargs -0 -I{} mv -n "{}" ~/Documents/Word_Backups/
Compresser mensuellement le dépôt central
cd ~/Documents/Word_Backups
tar -czf "archive-$(date +%Y-%m).tar.gz" *.wbk
Rapport simple des 20 documents les plus sauvegardés
cd ~/Documents/Word_Backups
ls | sed 's/\.[0-9-]\{10\}_[0-9-]\{8\}\.wbk$//' | sort | uniq -c | sort -nr | head -n 20
Avec ces briques, vous gardez les bénéfices des sauvegardes .wbk, sans le coût d’un océan de dossiers « Backups ». Quand Microsoft ajoutera (espérons‑le) le choix d’un répertoire de sauvegarde unique, il suffira de couper le script : d’ici là, votre environnement reste propre et performant.