Как сделать так, чтобы один файл отображался в нескольких папках одновременно?
Если у вас настроено большое количество папок для вашей работы, и вам нужно использовать один и тот же файл сценария во всех из них в течение рабочего дня, то какой самый простой способ сделать это, кроме большого количества копирования и вставки? В сегодняшнем посте 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? Ознакомьтесь с полным обсуждением здесь.