Домашняя » как » Как сделать так, чтобы один файл отображался в нескольких папках одновременно?

    Как сделать так, чтобы один файл отображался в нескольких папках одновременно?

    Если у вас настроено большое количество папок для вашей работы, и вам нужно использовать один и тот же файл сценария во всех из них в течение рабочего дня, то какой самый простой способ сделать это, кроме большого количества копирования и вставки? В сегодняшнем посте SuperUser Q & A есть несколько полезных ответов и советов для разочарованного читателя..

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

    Снимок экрана любезно предоставлен csaveanu (Flickr).

    Вопрос

    Считыватель SuperUser Elliot ищет лучший способ отображения одного и того же файла в нескольких папках одновременно:

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

    Мне нужно, чтобы скрипт отображался так, как если бы он находился в каждой папке, в то время как на самом деле он находился только в одном месте, чтобы я мог отредактировать его один раз, а затем при запуске из любого из этих мест путь к папке будет правильным. Альтернативой является редактирование мастера и вставка его по одной папке за раз во все более 50 папок каждый раз, когда я обновляю код, что очень утомительно и подвержено ошибкам. В Linux я мог бы установить это с помощью символической ссылки, но я не могу найти способ сделать это с Windows.

    Альтернативно, способ вставки файла во все целевые каталоги одновременно, а не по одному, достиг бы той же цели.

    Есть ли способ сделать это, а не копировать и вставлять файл скрипта по одной папке за раз?

    Ответ

    Участник SuperUser gronostaj имеет ответ для нас:

    Тебе необходимо Символическая ссылка или Жесткая ссылка.

    Символические ссылки (или же Symlinks для краткости) очень похожи на ярлыки: есть один актуальный файл и несколько ссылок (Symlinks) к нему. У них даже есть эта маленькая стрелка на иконках. В отличие от ярлыков, Symlinks может иметь любое расширение.

    Жесткие ссылки привязать файл на жестком диске к месту в дереве каталогов. В каждом файле есть хотя бы один Жесткая ссылка, иначе он не существовал бы ни в одном каталоге. Если файл имеет несколько Жесткие ссылки, исходный файл нельзя отличить от других, и файл физически существует только в одном месте.

    Оба имеют свои ограничения:

    • Некоторые программы не работают с Symlinks.
    • Удаление исходного файла оставляет все его Symlinks сломанный.
    • Ты не можешь Жесткая ссылка папки (но вы можете создать узел каталогов, если Symlink недостаточно).
    • Создание кросс-раздела Жесткие ссылки невозможно.

    Symlinks обычно достаточно.

    Чтобы создать символическую или жесткую ссылку:

    1. Запустите привилегированную командную строку: нажмите Ключ Windows, тип CMD, затем нажмите Ctrl + Shift + Enter.

    2. Выполните команду mklink:

    • mklink link_name link_target для файла Symlink
    • mklink / d link_name link_target для папки Symlink
    • mklink / h link_name link_target для файла Жесткая ссылка
    • mklink / j имя_ссылки link_target для Справочник Junction

    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.