У вас может быть скрипт, который запускается при запуске и использует технику, предложенную в этом посте https://apple.stackexchange.com/a/91759/183505
При загрузке с DriveA (когда вы хотите отключить индексирование прожектора для внешнего диска B) вы можете выполнить:
touch /Volumes/DriveB/.metadata_never_index
Когда вы загружаетесь с внешнего диска DriveB и хотите снова включить прожектор, возможно, вы могли бы запустить скрипт запуска:
rm /Volumes/DriveB/.metadata_never_index
В связанном посте также перечислены другие способы программного изменения исключений в центре внимания.
Вот несколько способов добавить скрипт, который будет запускаться при входе в систему: /programming/6442364/running-script-upon-login-mac
Удачи!
Изменить: метод с использованием сценариев bash и plist-файлов
Сначала создайте скрипт запуска. Я решил создать один на~/script.sh
Убедитесь, что это исполняемый файл chmod +x ~/script.sh
Скрипт для ОС, который хочет скрыть диск в центре внимания
#!/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
Скрипт на ОС, который хочет проиндексировать диск
#!/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
Создайте файл 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>
Проверьте это, загрузив и выгрузив его:
launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist
rm
команда требует, чтобы я запустил ее, используяsudo
. Я использую первый метод в той ссылке, которую вы разместили. Есть ли у вас какие-либо предложения для этого? Нужно ли использовать метод запуска демона, чтобы преодолеть это?DriveToHide
есть пробелы, то ваши сценарии , как написано в настоящее время, не будут работать. Если вы собираетесь тестировать,[ ... ]
то двойные кавычки переменных, чтобы предотвратить разбивание и расщепление слов. Или используйте[[ ... ]]
для проверки, тогда двойные кавычки не нужны.Извиняюсь за новый ответ (недостаточно комментариев для комментирования, так как я здесь новичок)
@hapi - я могу быть смущен, но сценарии неправильные?
Скрипт для ОС, который хочет скрыть диск в центре внимания: переименовывает
.metadata_never_index
Скрипт на ОС, который хочет проиндексировать диск: создает
.metadata_never_index
Я думал, что присутствие
.metadata_never_index
на томе означало, что Центр внимания проигнорировал это?Спасибо
источник
.metadata_never_index
это никак не повлияет на macOS 10.13 - superuser.com/questions/591406/… ...Сегодня я узнал, что вы можете использовать
sudo touch /.metadata_never_index_unless_rootfs
в корневом каталоге каждого диска для отделения индексов от загрузочных дисков OS X. Это специальная версия.metadata-never-index
, потому что она будет (пере) индексировать диск при загрузке с него, но не когда вы этого не сделаете.источник
Принимая во внимание, что другой ответ является хорошим методом, он может непреднамеренно вызвать проблемы и не может быть на 100% надежным. Лучшим способом было бы использовать Alfred , поскольку он более гибкий, чем Spotlight, во внешней ОС.
источник