Домашня » як » Як зробити так, щоб один файл з'явився в декількох папках одночасно?

    Як зробити так, щоб один файл з'явився в декількох папках одночасно?

    Якщо для вашої роботи налаштовано велику кількість папок і потрібно використовувати один і той же файл сценарію у всіх робочих днях, то найпростіший спосіб досягти цього за багато копіювання та вставки? Сьогоднішня посада SuperUser Q&A має кілька корисних відповідей і порад для розчарованого читача.

    Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..

    Знімок вікні csaveanu (Flickr).

    Питання

    Читач SuperUser Elliot шукає найкращий спосіб мати один і той же файл одночасно в декількох папках:

    У мене 50 + папок, кожен з яких містить велику кількість даних, які потрібно обробити. Всі вони обробляються з використанням того ж самого точного коду, що використовується os.path.dirname (os.path.realpath (файл)) щоб отримати каталог, в якому знаходиться скрипт python, щоб користувач не мав необхідного вручну редагування, потрібно лише двічі натиснути.

    Мені потрібен скрипт, щоб він виглядав так, ніби він знаходиться в кожній папці, але фактично перебуває тільки в одному місці, щоб я міг редагувати його один раз, тоді, коли він запускається з будь-якого з цих місць, шлях до папки буде правильним. Альтернативою є редагування майстра, а потім вставлення його в одну папку одночасно через всі 50 + папки кожен раз, коли я оновлюю код, який є дуже нудним і схильним до помилок. На Linux, я міг би встановити це з символічним посиланням, але я не можу зрозуміти, як це зробити з Windows.

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

    Чи є спосіб зробити це, а не копіювати і вставляти файл скрипту в одну папку за раз?

    Відповідь

    Співробітник SuperUser gronostaj має відповідь для нас:

    Вам потрібно a Символічне посилання або a Hard Link.

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

    Жорсткі посилання прив'яжіть файл на жорсткому диску до місця розташування в дереві каталогів. Кожен файл має принаймні один Hard Link, інакше вона не існувала б в жодному каталозі. Якщо файл має декілька Жорсткі посилання, оригінал не можна відрізнити від інших, і файл фізично існує лише в одному місці.

    Обидва мають свої обмеження:

    • Деяке програмне забезпечення не дуже красиве Symlinks.
    • Видалення вихідного файлу залишає всі його Symlinks зламаний.
    • Ти не можеш Hard Link папки (але ви можете створити перехід до каталогу, якщо a Символьна лінія недостатньо).
    • Створення крос-розділів Жорсткі посилання неможливо.

    Symlinks зазвичай достатньо.

    Створення символьної посилання або жорсткого посилання:

    1. Запустіть привілейований командний рядок: Натисніть кнопку Клавіша Windows, тип cmd, потім натисніть Ctrl + Shift + Enter.

    2. Видати команду mklink:

    • mklink link_name link_target для файлу Символьна лінія
    • mklink / d назва_зв'язку link_target для папки Символьна лінія
    • mklink / h link_name link_target для файлу Hard Link
    • mklink / j link_name link_target для a Каталог Junction

    Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.