34 votes

Y a-t-il un moyen, via la ligne de commande, de faire télécharger les fichiers .icloud ?

Sous iCloud, dans l'application Paramètres, j'ai coché "Optimiser le stockage Mac" et "Dossiers du bureau et des documents" sous "Les applications qui stockent des documents et des données dans iCloud apparaîtront ici :".

enter image description here

Ainsi, certains fichiers de mon dossier "Documents" seront déchargés et remplacés par un petit fichier se terminant par ".icloud". Je peux les télécharger en cliquant sur l'icône du nuage dans la vue détaillée du Finder. Je peux également utiliser "find" à partir de la ligne de commande pour montrer quels fichiers ont été déchargés, par exemple "find . -name *.icloud | more".

Existe-t-il un moyen, en ligne de commande, de provoquer le téléchargement de ces fichiers, soit par fichier, soit par répertoire ?

24voto

pex Points 2237

La réponse de Scott Garret et d'Allan ci-dessus est très proche.

Dans le terminal, cependant, chaque *.icloud est préfixé d'un . quand PAS téléchargé.

Par exemple, un répertoire appelé foo avec des fichiers optimisés (c.-à-d. déchargés sur icloud) a.txt y b.txt ressemblera à ceci

$ cd foo
$ find . -name '.*icloud’
./.a.txt.icloud
./.b.txt.icloud

Pour résoudre (c.-à-d. télécharger) les fichiers à partir d'icloud, vous devez transmettre le chemin d'accès à la commande résultant chemin vers /usr/bin/brctl .

Ainsi, ce qui suit fonctionne.

find . -name '.*icloud' | perl -pe 's|(.*)/.(.*).icloud|$1/$2|s' | while read file; do brctl download "$file"; done

Vous pouvez surveiller l'activité de téléchargement selon cette réponse comme suit :

brctl log --wait --shorten

18voto

Scott Garrett Points 121

La commande que vous recherchez est brctl (situé dans /usr/bin ). man brctl vous dira tout ce dont vous avez besoin, mais en gros, juste brctl download /path/to/filename (sans l'extension .icloud) et evict purgera la copie mise en cache localement.

8voto

farnots Points 81

À ma connaissance, il n'y a pas de commande incluse qui vous permette de télécharger directement un fichier ou un dossier iCloud.

Mais comme j'ai eu exactement le même problème que vous, j'ai découvert qu'il était possible de le faire en Swift avec la fonction startDownloadingUbiquitousItem fonction.

J'ai donc écrit un script Swift très simple pour télécharger à la fois un dossier et un fichier. Vous pouvez le télécharger sur Github : Téléchargeur iCloud

J'espère avoir répondu à votre question.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X