21 votes

Un moyen simple de copier-coller les chemins d'accès aux fichiers sur les Macs

Je travaille sur de longues procédures qui devront faire référence à de nombreux chemins de fichiers de documents situés localement et sur divers disques et serveurs externes. Dans tous les cas, nous utilisons des Macs Apple avec El Capitan ou Sierra installé.

Mon problème - cela me prend beaucoup de temps de taper manuellement et de revérifier que les chemins de fichiers sont corrects.

Solution préférée - J'aimerais beaucoup qu'il y ait un moyen de copier et coller les chemins d'accès aux fichiers dans ces procédures.

J'ai essayé d'utiliser l'option Obtenir des informations, mais je n'ai pas trouvé de chemin d'accès à un fichier que je pourrais copier et coller.

J'ai également lu cette question : Obtenir les composants (chemin et nom de fichier) du chemin de fichier POSIX et j'ai essayé d'utiliser le script. C'était prometteur, mais cela ne fait pas tout à fait ce dont j'ai besoin.

Existe-t-il un moyen simple pour moi de copier et coller les chemins d'accès aux fichiers selon mes besoins ?

Par exemple, si j'ai une image appelée "Serial Number.jpg" située sur un disque externe appelé Server1, le chemin d'accès au fichier sera le suivant : /Volumes/Server1/Serial Number.jpg .

0 votes

Auparavant, il suffisait d'utiliser Commande+copier, de copier le fichier et de le coller dans un courriel, et il était placé dans le courriel sous forme d'hyperlien cliquable. Cependant, j'ai récemment mis à jour mon Outlook et mon système d'exploitation (après ne pas l'avoir mis à jour depuis au moins deux ans) et cette fonction d'hyperlien ne fonctionne plus. Est-ce que cela fonctionne encore

46voto

Monomeeth Points 61435

Je pense que c'est une option qui fera exactement ce que vous voulez. En utilisant votre Numéro de série.jpg par exemple, procédez comme suit :

  1. Dans le Finder, naviguez jusqu'à l'image appelée "Serial Number.jpg" située sur le serveur 1.
  2. Cliquez avec le bouton droit de la souris sur le fichier pour afficher le menu contextuel
  3. Maintenant, appuyez et maintenez la touche option touche vers le bas
  4. Sélectionnez le Copiez "Serial Number.jpg" en tant que nom de chemin. option
  5. Maintenant, allez dans la procédure que vous êtes en train de modifier et collez le nom de chemin que vous venez de copier.

Ce site devrait le résultat est que votre document a le /Volumes/Server1/Serial Number.jpg collé dans le chemin.

Suivez les mêmes étapes pour tous les fichiers, qu'ils soient stockés localement, sur un disque externe ou sur un serveur. Cela fonctionne également pour obtenir le chemin d'accès des dossiers.

Raccourci clavier

Merci à Mateusz Szlosek d'avoir signalé que vous pouvez également utiliser un raccourci clavier. Au lieu des étapes 2 à 4 ci-dessus, une fois que vous avez sélectionné le fichier, vous pouvez utiliser la touche option + command + C pour copier le chemin du fichier. Vous pouvez ensuite le coller comme d'habitude.

Fichiers Windows, etc.

Il existe des utilitaires personnalisés pour formater les partages pour d'autres systèmes d'exploitation et sub/afp également :

17 votes

En outre, le raccourci clavier complet pour copier le chemin d'accès au fichier est le suivant ALT + CMD + C Il n'est pas nécessaire de le faire en utilisant le menu contextuel.

1 votes

@MateuszSzlosek "" désigne la touche d'option (le codepoint unicode pour ce symbole est littéralement U+2325 OPTION KEY). Le mot "alt" est en outre sérigraphié sur la touche d'option des claviers Apple pour éviter toute confusion lors de l'utilisation de claviers Apple avec d'autres systèmes d'exploitation (puisque la touche de commande d'Apple occupe l'emplacement de la touche alt sur d'autres claviers). Ainsi, dans le contexte des raccourcis clavier de MacOS, la touche "alt" n'existe pas, mais seulement la touche "option" ; dans le contexte des claviers Apple, cette touche est utilisée soit pour la touche "option", soit pour la touche "alt", selon l'ordinateur auquel elle est connectée.

0 votes

@SlippD.Thompson vous avez raison, je les utilise de manière interchangeable, mais Option est le bon :)

28voto

Tetsujin Points 95239

Il suffit de glisser-déposer un fichier [ou toute une série de fichiers] dans une zone de texte pour obtenir son [leur] chemin d'accès - pas dans toutes les applications mais dans beaucoup, y compris Terminal [et accessoirement dans l'espace questions/réponses de Stack Exchange].

Certaines applications, comme BBEdit, ne prennent pas en charge cette fonction et utilisent le contenu du fichier au lieu du chemin complet. Pour ces applications, un Command Le "glisser-déposer" fonctionne également.

1 votes

+1 Bon appel ! Je ne savais pas qu'on pouvait glisser et déposer dans Stack Exchange ! :)

1 votes

Merci pour cela - c'est un excellent moyen de copier et coller un dossier rempli de fichiers.

0 votes

@ThisClark - J'avais oublié que vous pouviez faire glisser plusieurs fichiers - ajouté à la réponse, merci.

3voto

Arran McDonald Points 11

Je préférerais simplement glisser-déposer un fichier dans une zone de texte pour obtenir son chemin (voir la réponse de Tetsujin).

Si cela ne fonctionne pas pour vous, envisagez d'écrire un tout petit programme en Qt.

De http://qtsimplify.blogspot.de/2013/01/drag-and-drop-files-into-your.html :

Créez une nouvelle "Qt Gui Application" dans Qt Creator.

Modifiez le fichier d'en-tête, mainwindow.h, en ajoutant les en-têtes suivants :

#include <QDropEvent>
#include <QUrl>
#include <QDebug>

Réimplémentation des fonctions protégées, dropEvent() et dragEnterEvent() protégées :

void dropEvent(QDropEvent *ev);
void dragEnterEvent(QDragEnterEvent *ev);

Dans le fichier mainwindow.cpp, ajoutez ces lignes :

void MainWindow::dropEvent(QDropEvent *ev)
{
    QList<QUrl> urls = ev->mimeData()->urls();
    foreach(QUrl url, urls)
    {
        qDebug()<<url.toString();
    }
}

void MainWindow::dragEnterEvent(QDragEnterEvent *ev)
{
    ev->accept();
}

La fonction dropEvent() est l'endroit où vous récupérez le nom de tous les fichiers que vous déposez dans votre application.

Et enfin, ajoutez cette ligne dans le constructeur de votre fenêtre principale :

setAcceptDrops(true);

Ensuite, par exemple, si vous voulez avoir les chemins dans le presse-papiers, il vous suffit de les copier en utilisant QClipboard.

QClipboard *clipboard = QGuiApplication::clipboard();
clipboard->setText(url.toString());

Pour le dépôt d'un seul fichier, et une liste pour tous les fichiers.

3voto

evilcandybag Points 101

J'utilise le Services Menu contextuel "Chemin vers le presse-papiers" dans le Finder (bien que j'utilise plus souvent le menu contextuel de QuollEyeTree).

Je ne sais pas s'il s'agit d'un service par défaut, ou d'un service que j'ai créé à l'aide d'Automator (le mien date de 2012), mais il est trivial de créer un tel service, s'il n'existe pas déjà.

2voto

rooms Points 141

Une solution en ligne de commande que j'utilise pour obtenir des chemins rapidement est d'utiliser realpath de GNU Coreutils . J'ai installé coreutils via MacPorts, où le binaire s'appelle grealpath . Vous pouvez ensuite l'appeler sur un fichier et il vous donnera le chemin. J'aime le mélanger avec pbcopy pour obtenir rapidement un chemin dans mon presse-papiers : $ grealpath histograms.root | pbcopy

0 votes

Pourquoi cette méthode plutôt que $ pwd histogrammes.Root | pbcopy ?

0 votes

Cela vous donne le chemin du répertoire contenant histograms.root plutôt que le chemin complet du fichier lui-même. Vous pourriez trivialement écrire un shell script pour le faire, mais je ne l'ai pas fait.

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