Impedisce a Spotlight di indicizzare l'unità esterna

9

A volte uso un SSD esterno con macOS Sierra su di esso, insieme alla mia unità interna corrente su cui è installato macOS Sierra.

Una cosa fastidiosa di Spotlight è che ogni volta che cerco qualcosa in esso, ad esempio quando sono in esecuzione dal mio disco esterno, è che ottengo risultati da entrambi i dischi esterni e , che è qualcosa Non voglio.

Quando ho avviato la mia unità esterna, ho provato a creare un'eccezione Spotlight per l'unità interna. Tuttavia, sembra che se lo faccio, viene creata un'eccezione per la mia unità interna anche quando avvio nella mia unità interna. Quindi, sembra che le esclusioni Spotlight siano vincolate dal laptop, non l'unità - il che significa che la mia unità interna verrà esclusa dai risultati di Spotlight, indipendentemente dall'unità esterna da cui avvio.

È possibile creare un'eccezione Spotlight per la mia unità interna quando sono in esecuzione dalla mia unità esterna e allo stesso modo un'eccezione per la mia unità esterna quando sono in esecuzione dall'unità interna?

    
posta Skeleton Bow 15.02.2017 - 12:36
fonte

3 risposte

9

Potresti avere uno script eseguito all'avvio che impiega la tecnica suggerita in questo post link

Quando fai il boot da DriveA (quando vuoi disabilitare l'indicizzazione Spotlight per External DriveB) puoi eseguire:

touch /Volumes/DriveB/.metadata_never_index

Quando si avvia da DriveB esterno e si desidera riattivare Spotlight, è possibile eseguire lo script di avvio:

rm /Volumes/DriveB/.metadata_never_index

Il post collegato elenca anche altri modi per modificare in modo programmatico le esclusioni di Spotlight.

Ecco alcuni modi per aggiungere uno script che verrà avviato all'accesso: link

Buona fortuna!

Modifica: metodo che utilizza script di bash e file plist

Prima crea uno script di avvio. Ho scelto di crearne uno a ~/script.sh

Assicurati che sia eseguibile chmod +x ~/script.sh

Script per SO che vuole nascondere un'unità da spotlight

#!/bin/bash
flagLocation="/Volumes/DriveToHide"
flagRemoved=".ney_the_index"  # a new name

# if flag exists rename it.
if [ -a "$flagLocation/.metadata_never_index" ]; then 
    mv "$flagLocation/.metadata_never_index" "$flagLocation/$flagRemoved";
fi

Script sul sistema operativo che desidera indicizzare l'unità

#!/bin/bash
flagLocation="/Volumes/DriveToHide"
flagRemoved=".ney_the_index"

if [ -a "$flagLocation/$flagRemoved" ]; then
    mv "$flagLocation/$flagRemoved" "$flagLocation/.metadata_never_index"
fi

if [ ! -a "$flagLocation/$flagRemoved" ] || [ ! -a "$flagLocation/.metadata_never_index" ] ; then
    touch "$flagLocation/.metadata_never_index"
fi

Crea un file plist ~/Library/LaunchAgents/com.user.loginscript.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.user.loginscript</string>
   <key>Program</key>
   <string>/Users/yourusername/script.sh</string>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

Provalo caricando e scaricando:

launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist
    
risposta data 15.02.2017 - 13:32
fonte
2

Chiedo scusa per la nuova risposta (non c'è abbastanza rep per commentare come sono nuovo qui)

@hapi - Posso essere confuso, ma gli script sono nel verso sbagliato?

Script per SO che vuole nascondere un'unità da spotlight: rinomina .metadata_never_index

Script sul sistema operativo che desidera indicizzare l'unità: crea .metadata_never_index

Pensavo che la presenza di .metadata_never_index sul volume significasse che Spotlight l'aveva ignorato?

Grazie

    
risposta data 17.08.2018 - 15:13
fonte
-2

Mentre l'altra risposta è un buon metodo per farlo, può inavvertitamente causare problemi e potrebbe non essere affidabile al 100%. Un metodo migliore sarebbe utilizzare Alfred , in quanto è più flessibile di Spotlight, sul sistema operativo esterno.

    
risposta data 16.02.2017 - 18:06
fonte

Leggi altre domande sui tag