J'ai quelques fichiers, par exemple file-1.org
, file-2.org
dans le même répertoire partageant le data/
répertoire des pièces jointes.
Je voudrais déplacer file-1.org
vers un autre emplacement, créer un nouveau data/
répertoire à cet emplacement et déplacer toutes les pièces jointes qui appartiennent au file-1.org
nouveau répertoire. Existe-t-il un moyen automatique de procéder?
org-attach-sync
pour les synchroniser avec le nouvel élément.Réponses:
Cette commande pourrait faire ce que vous voulez:
Remplacez-le
file-1.org
par le fichier org dont vous souhaitez déplacer les pièces jointes et~/temp/my-new-directory
par l'emplacement de votre nouveau répertoire. Undata
répertoire sera créé avec les fichiers joints en eux (si vous souhaitez déplacer au lieu de copier, passez--remove-source-files
à larsync
commande).Cela a été testé sur macOS. Vous devrez peut-être omettre l'
-E
indicateur sur d'autres plates-formes.REMARQUE: veuillez le faire sur une copie de vos fichiers . Je ne suis pas un expert en emacs, je n'ai jamais utilisé de pièces jointes en mode org et je n'ai pas l'habitude d'utiliser ce type de manipulation de fichiers hacky. Cela pourrait faire sauter votre dossier en mode org dans l'oubli, sauvegardez-le d'abord.
la source
Basé sur la réponse de Marcel Samyn, le script suivant a fonctionné pour moi sous ArchLinux:
Utilisez le script réduit suivant pour obtenir une liste des fichiers à copier:
Sans la
^
commande grep, j'ai obtenu des faux positifs des liens de messagerie contenant ": id:".la source