Startseite » wie man » Wie lässt sich eine einzelne Datei gleichzeitig in mehreren Ordnern anzeigen lassen?

    Wie lässt sich eine einzelne Datei gleichzeitig in mehreren Ordnern anzeigen lassen?

    Wenn Sie eine große Anzahl von Ordnern für Ihre Arbeit eingerichtet haben und während des Arbeitstages dieselbe Skriptdatei in allen verwenden müssen, was ist dann der einfachste Weg, dies zu erreichen, abgesehen von viel Kopieren und Einfügen? Der heutige Q & A-Beitrag von SuperUser enthält hilfreiche Antworten und Ratschläge für einen frustrierten Leser.

    Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.

    Screenshot mit freundlicher Genehmigung von csaveanu (Flickr).

    Die Frage

    SuperUser-Leser Elliot sucht nach dem besten Weg, um dieselbe Datei in mehreren Ordnern gleichzeitig erscheinen zu lassen:

    Ich habe über 50 Ordner, von denen jeder eine große Menge an Daten enthält, die verarbeitet werden müssen. Alle werden unter Verwendung des gleichen exakten Codes verarbeitet os.path.dirname (os.path.realpath (Datei)) Um das Verzeichnis zu erhalten, in dem sich das Python-Skript befindet, muss der Benutzer keine manuelle Bearbeitung vornehmen, sondern nur einen Doppelklick ausführen.

    Ich brauche, dass das Skript so erscheint, als ob es sich in jedem Ordner befindet, während es tatsächlich nur an einer Stelle ist, sodass ich es einmal bearbeiten kann. Wenn es von einem dieser Orte aus ausgeführt wird, muss der Ordnerpfad korrekt sein. Die Alternative besteht darin, den Master zu bearbeiten und dann jedes Mal, wenn ich den Code aktualisiere, einen Ordner durch alle 50+ Ordner einzufügen, was sehr mühsam und fehleranfällig ist. Unter Linux könnte ich dies mit einem symbolischen Link einrichten, aber unter Windows kann ich keinen Weg finden, dies zu tun.

    Alternativ würde eine Möglichkeit, die Datei in alle Zielverzeichnisse gleichzeitig und nicht einzeln zu einfügen, dasselbe Ziel erreichen.

    Gibt es eine Möglichkeit, dies zu tun, anstatt die Skriptdatei Ordner für Ordner zu kopieren und einzufügen?

    Die Antwort

    SuperUser-Mitwirkender gronostaj hat die Antwort für uns:

    Du brauchst ein Symbolischer Link oder ein Hard Link.

    Symbolische Links (oder Symlinks Abkürzungen) sind Abkürzungen ziemlich ähnlich: Es gibt eine tatsächliche Datei und mehrere Verweise (Symlinks) dazu. Sie haben sogar diesen kleinen Pfeil auf den Icons. Im Gegensatz zu Verknüpfungen, Symlinks kann eine Erweiterung haben.

    Harte Links Binden Sie eine Datei auf einer Festplatte an einen Ort in der Verzeichnisstruktur. Jede Datei hat mindestens eine Hard Link, Andernfalls wäre es in keinem Verzeichnis vorhanden. Wenn eine Datei mehrere hat Harte Links, Die ursprüngliche kann nicht von den anderen unterschieden werden, und die Datei existiert nur an einem Ort.

    Beide haben ihre Grenzen:

    • Einige Software spielt nicht gut mit Symlinks.
    • Wenn Sie die Originaldatei löschen, bleiben alle darin erhalten Symlinks gebrochen.
    • Du kannst nicht Hard Link Ordner (Sie können jedoch eine Directory Junction erstellen, wenn a Symlink ist nicht genug).
    • Partitionsübergreifend erstellen Harte Links ist unmöglich.

    Symlinks sind in der Regel ausreichend.

    So erstellen Sie einen Symlink oder einen Hardlink:

    1. Starten Sie eine privilegierte Befehlszeile: Drücken Sie die Windows-Taste, Art cmd, dann drücken Strg + Umschalt + Enter.

    2. Den Befehl mklink ausgeben:

    • mklink link_name link_target für eine Datei Symlink
    • mklink / d link_name link_target für einen Ordner Symlink
    • mklink / h link_name link_target für eine Datei Hard Link
    • mklink / j link_name link_target für a Directory Junction

    Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.