Чи може автоматизатор створювати символічні посилання, але пропускати існуючі файли?


1

Сьогодні я виявив дивовижний Створіть дію Symlinks з JuneCloud . Він відмінно працює, але створює дублікати файлів (додаючи номер до кожного) для будь-якої символічної посилання, яка вже існує в кінцевому місці. Я хочу, щоб він просто ігнорував ці файли і продовжував транспортування.

Я спробував використати сценарій оболонки ln -s але це просто не вдається з a The action “Run Shell Script” encountered an error. після натискання файлу, який вже існує.

Чи є спосіб створити символічну посилання, але існуючі файли SKIP? Я знаю, що можу -f перезаписати, але я б просто пропустив. Як це можна зробити або в Automator, або в сценарії оболонки?

Відповіді:


2

Так! Ви можете зробити це легко в сценарії оболонки. The -h Прапор відповідає рахунку, як описано (роду) на На сторінці man . Тому замість цього ln -s, роби ln -sh.

Ось приклад. Скажімо, ви хотіли б зробити символічне посилання на кожне з ваших завантажень, яке б існувало на вашому робочому столі, але у вас вже є деякі символічні посилання. Тоді ви можете зробити це:

cd Downloads
for f in *; do ln -sh ~/Downloads/"$f" ~/Desktop; done;

Для будь-яких файлів, для яких у вас вже є символічні посилання, команда роздрукує:

    ln: /Users/******/Desktop/FlashPlayer.dmg: File exists

Команда робить це друк після запуску, тому не викидає жодних помилок і не вимагає додаткових входів.


OHH! Добре проклятий. Я читав людину (вірте чи ні! Lol), але там, де він каже, що -х викликає ln "не слідувати" за посиланням, якщо він існує, я не вважав, що це означає "пропустити і продовжувати". На жаль, це не працює, Automator як і раніше barfs, тому що "файл існує". = (
Jonathan van Clute

@JonathanvanClute Так це заплутано
NoahL

Будь-яка ідея, чому Automator ще не подобається?
Jonathan van Clute

Я не знаю, за винятком того, що ви можете спробувати запустити скрипт сам по собі (без Automator) і переконавшись, що він працює так.
NoahL

1
Святе лайно я це виправив! Завдяки цій веб-сторінці: tewha.net/2012/07/make-a-symbolic-link-from-finder - Мені довелося помітити невелику деталь у їхній версії ln script - a shift; після команди ln. Тільки для пекла це я ставлю це та voila - ніякі помилки зовсім, та сценарій виконує точно тому що я не сподівався це. Еврика! =)
Jonathan van Clute
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.