2009-08-18 6 views
2

Мне интересно, есть ли способ создать сценарий в Mac OS X, который изменит местоположение сохранения по умолчанию для всех родных приложений Cocoa. Я не знаю, с чего начать, поэтому я открыт для любых советов о том, как это сделать.Change File Save Location

Спасибо за помощь!

ответ

5

Установить каталог по умолчанию для всех приложений, которые не запускают раньше:

defaults write NSGlobalDomain NSNavLastRootDirectory "~/Desktop" 

Переписать все предыдущие места для приложений, которые сделали запуск раньше:

find ~/Library/Preferences -name "*.plist" -exec grep -l NSNavLastRootDirectory {} \; | while read domain; do domain=${domain%.plist} ; defaults write "$domain" NSNavLastRootDirectory "~/Desktop"; done 

В обоих случаях замените «~/Desktop "с вашим путем. Если он содержит пробелы или тильду, не забудьте использовать кавычки.

+0

Спасибо, Николай. Прекрасно работает! Тем не менее, Terminal дает мне следующие ошибки: Неожиданный аргумент ~/Desktop; оставляя значения по умолчанию неизменными. 2009-08-18 12: 18: 41.353 Неожиданный аргумент NSNavLastRootDirectory; оставляя значения по умолчанию неизменными. Неожиданный аргумент 2; оставляя значения по умолчанию неизменными. Неожиданный аргумент NSNavLastRootDirectory; оставляя значения по умолчанию неизменными. Это нормально? Кроме того, я предполагаю, что нет способа изменить местоположение, если приложение уже открыто ... – PF1

+0

Я исправил ошибку, с которой вы столкнулись (из-за пробелов в идентификаторах приложений в вашем каталоге настроек). Кроме того, я добавил настройки для приложений, которые раньше не запускались. Теперь вы можете решить, хотите ли вы изменить путь для всех или только те, которые ранее не запускались. –

+0

Спасибо, Николай, я очень ценю помощь! Поэтому я предполагаю, что мое предположение было правильным в том, что я не могу изменить местоположение запуска в открытых в настоящее время приложениях - совершенно нормально, но я просто проверял. – PF1