2 votes

Combiner deux dossiers avec Smart Folder

Bon, il y a une chose que j'aimerais pouvoir faire depuis longtemps dans OS X, c'est de créer ou d'afficher un dossier d'applications combiné qui affiche le contenu des deux dossiers suivants /Applications y ~/Applications (en supposant qu'il existe).

Je sais que LaunchPad peut le faire, mais j'aimerais quand même pouvoir le faire dans une fenêtre normale du Finder, par exemple en utilisant un Smart Folder.

Est-ce possible, et si oui, quelles sont les étapes pour le faire (soit dans le Finder lui-même, soit via la ligne de commande) ?

J'ai essayé de rechercher toutes les applications sur l'ensemble de mon ordinateur, mais cela ne renvoie que les paquets d'applications eux-mêmes, sans tenir compte des dossiers qui les entourent. En réalité, je ne veux que des éléments de premier niveau pour chacun des dossiers d'applications ; par exemple, j'aimerais voir les éléments suivants /Applications/Utilities et non son contenu.

0 votes

Je ne suis pas certain qu'il s'agisse d'un véritable doublon, ou du moins l'autre question est heureuse d'accepter des solutions dont je ne suis pas sûr qu'elles correspondent vraiment à ce que je demande ; créer des liens via un script par exemple semble une façon très désordonnée de le faire. Les dossiers intelligents ne disposent-ils toujours pas d'un moyen de combiner les résultats (par exemple, un OU) pour deux recherches ?

1 votes

J'ai en fait trouvé une capacité dans mdfind qui couvre en quelque sorte ceci ; je peux faire mdfind -onlyin /Applications -onlyin ~/Applications 'kind:App' qui combine au moins les résultats, mais il n'y a pas de moyen évident de le faire en tant que dossier intelligent.

0voto

Scorekaj22 Points 1

Vérifiez le code ci-dessous et je vais vous expliquer

    <?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>CompatibleVersion</key>
    <integer>1</integer>
    <key>RawQuery</key>
    <string>(((kMDItemKind == "Application"cd &amp;&amp; ! ( ((kMDItemDisplayName == "*aam*"cd || kMDItemAlternateNames == "*aam*"cd) || (kMDItemDisplayName == "*aas*"cd || kMDItemAlternateNames == "*aas*"cd) || (kMDItemDisplayName == "*lic*"cd || kMDItemAlternateNames == "*lic*"cd) || (kMDItemDisplayName == "*uninstall*"cd || kMDItemAlternateNames == "*uninstall*"cd) || (kMDItemDisplayName == "*setup*"cd || kMDItemAlternateNames == "*setup*"cd) || (kMDItemDisplayName == "*install*"cd || kMDItemAlternateNames == "*install*"cd)) ))))</string>
    <key>RawQueryDict</key>
    <dict>
        <key>FinderFilesOnly</key>
        <false/>
        <key>RawQuery</key>
        <string>(((kMDItemKind == "Application"cd &amp;&amp; ! ( ((kMDItemDisplayName == "*aam*"cd || kMDItemAlternateNames == "*aam*"cd) || (kMDItemDisplayName == "*aas*"cd || kMDItemAlternateNames == "*aas*"cd) || (kMDItemDisplayName == "*lic*"cd || kMDItemAlternateNames == "*lic*"cd) || (kMDItemDisplayName == "*uninstall*"cd || kMDItemAlternateNames == "*uninstall*"cd) || (kMDItemDisplayName == "*setup*"cd || kMDItemAlternateNames == "*setup*"cd) || (kMDItemDisplayName == "*install*"cd || kMDItemAlternateNames == "*install*"cd)) ))))</string>
        <key>SearchScopes</key>
        <array>
            <string>/System/Applications</string>
            <string>/Applications</string>
            <string>/Users/USERNAME/Applications</string>
        </array>
        <key>UserFilesOnly</key>
        <false/>
    </dict>
    <key>SearchCriteria</key>
    <dict>
        <key>FXCriteriaSlices</key>
        <array>
            <dict>
                <key>criteria</key>
                <array>
                    <string>com_apple_RawQueryAttribute</string>
                    <integer>104</integer>
                </array>
                <key>displayValues</key>
                <array>
                    <string>Raw query</string>
                    <string>(kMDItemKind == "Application"cd &amp;&amp; ! ( ((kMDItemDisplayName == "*aam*"cd || kMDItemAlternateNames == "*aam*"cd) || (kMDItemDisplayName == "*aas*"cd || kMDItemAlternateNames == "*aas*"cd) || (kMDItemDisplayName == "*lic*"cd || kMDItemAlternateNames == "*lic*"cd) || (kMDItemDisplayName == "*uninstall*"cd || kMDItemAlternateNames == "*uninstall*"cd) || (kMDItemDisplayName == "*setup*"cd || kMDItemAlternateNames == "*setup*"cd) || (kMDItemDisplayName == "*install*"cd || kMDItemAlternateNames == "*install*"cd)) ))</string>
                </array>
                <key>rowType</key>
                <integer>0</integer>
                <key>subrows</key>
                <array/>
            </dict>
        </array>
        <key>FXScopeArrayOfPaths</key>
        <array>
            <string>/System/Applications</string>
            <string>/Applications</string>
            <string>/Users/USERNAME/Applications</string>
        </array>
    </dict>
</dict>
</plist>

Si vous voyez la clé SearchScopes, vous pouvez y ajouter les chemins à inclure.

Si simple que cela - alors c'est faisable. Pour apprendre cela, j'ai utilisé HoudaSpot qui l'a sauvegardé pour moi afin que je puisse apprendre comment le configurer. En gros, il suffit d'ouvrir un fichier .savedSearch pré-enregistré et d'en modifier le contenu avec la clé SearchScope.

2 votes

Pouvez-vous ajouter quelques détails sur le fichier que vous montrez, comment le créer, où le trouver, etc.

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