Kombinieren Sie zwei Ordner mit Smart Folder

Okay, eine Sache, die ich schon seit Ewigkeiten in OS X machen wollte, ist, einen kombinierten Anwendungsordner zu erstellen oder anzuzeigen, der den Inhalt von und anzeigt (vorausgesetzt, er existiert /Applications) ~/Applications.

Nun, ich weiß, dass LaunchPad dies tun kann, aber ich möchte dies immer noch in einem normalen Finder-Fenster tun können, zum Beispiel mit einem Smart Folder.

Ist dies möglich, und wenn ja, was sind die Schritte dafür (entweder im Finder selbst oder über die Befehlszeile)?

Ich habe experimentiert, um meinen gesamten Computer nach allen Anwendungen zu durchsuchen, dies gibt jedoch nur die Anwendungspakete selbst zurück und ignoriert alle umschließenden Ordner. Eigentlich möchte ich nur Elemente der obersten Ebene für jeden der Anwendungsordner; Zum Beispiel möchte ich den /Applications/UtilitiesOrdner sehen, nicht seinen Inhalt.

Ich bin mir nicht sicher, ob dies ein echtes Duplikat ist, oder zumindest akzeptiert das andere Problem gerne Lösungen, von denen ich nicht sicher bin, ob sie wirklich zu dem passen, was ich frage. Das Erstellen von Links über ein Skript zum Beispiel fühlt sich sehr umständlich an. Fehlt den Smart Foldern noch eine Möglichkeit, Ergebnisse (zB ein OR) für zwei Suchen zu kombinieren?
Ich habe tatsächlich eine Fähigkeit in mdfinddieser Art von Covers gefunden; Ich kann mdfind -onlyin /Applications -onlyin ~/Applications 'kind:App'die Ergebnisse zumindest kombinieren, aber es gibt keine offensichtliche Möglichkeit, dies als intelligenten Ordner zu tun.

Antworten (1)

Überprüfen Sie den Code unten und ich werde es erklären

    <?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>

Wenn Sie die wichtigsten SearchScopes sehen, können Sie dort hinzufügen, welche Pfade enthalten sein sollen.

So einfach ist das - dann ist es machbar. Um dies zu lernen, habe ich HoudaSpot verwendet, das es für mich gespeichert hat, damit ich lernen konnte, wie man es einrichtet. Öffnen Sie also im Grunde einfach eine vorgespeicherte .savedSearch-Datei und bearbeiten Sie den Inhalt mit der SearchScope-Taste.

Können Sie einige Details über die angezeigte Datei hinzufügen, wie man eine erstellt, wo man sie findet usw.?