25Aug

Wie erscheint eine einzelne Datei, um gleichzeitig in mehreren Ordnern zu sein?

click fraud protection

Wenn Sie eine hohe Anzahl an Ordnern für Ihre Arbeit eingerichtet haben und während des Arbeitstages dieselbe Skriptdatei für alle verwenden müssen, was ist dann der einfachste Weg, um das Kopieren und Einfügen zu vereinfachen? Der heutige SuperUser F & A Beitrag hat einige hilfreiche Antworten und Ratschläge für einen frustrierten Leser.

Die heutige Frage &Die Antwortsitzung kommt dank SuperUser, einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites, zu uns.

Screenshot mit freundlicher Genehmigung von csaveanu( Flickr).

Die Frage

SuperUser reader Elliot sucht nach der besten Möglichkeit, die gleiche Datei in mehreren Ordnern gleichzeitig erscheinen zu lassen:

Ich habe 50+ Ordner, von denen jeder eine große Menge an Daten enthält, die verarbeitet werden müssen. Alle von ihnen werden mit dem gleichen genauen Code verarbeitet, wobei os.path.dirname( os.path.realpath( file)) verwendet wird, um das Verzeichnis abzurufen, in dem sich das Python-Skript befindet, so dass keine manuelle Bearbeitung durch den Benutzer erforderlich istSie müssen nur doppelt klicken.

instagram viewer

Ich brauche das Skript so, als ob es sich in jedem Ordner befindet, während es sich tatsächlich nur an einer Stelle befindet, so dass ich es einmal bearbeiten kann. Wenn es an einem dieser Orte ausgeführt wird, muss der Ordnerpfad korrekt sein. Die Alternative besteht darin, den Master zu bearbeiten und dann bei jeder Aktualisierung des Codes einen Ordner nach dem anderen in 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 ich finde keine Möglichkeit, dies mit Windows zu tun.

Alternativ dazu würde ein Weg zum gleichzeitigen Einfügen der Datei in alle Zielverzeichnisse anstelle eines einzelnen dasselbe Ziel erreichen.

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

Die Antwort

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

Sie benötigen eine Symbolische Verbindung oder eine Harte Verbindung .

Symbolische Links ( oder Symlinks für kurze) sind den Shortcuts ziemlich ähnlich: Es gibt eine tatsächliche Datei und mehrere Referenzen( Symlinks ).Sie haben sogar diesen kleinen Pfeil auf den Icons. Im Gegensatz zu Shortcuts können Symlinks eine beliebige Erweiterung haben.

Hard Links binden eine Datei auf einer Festplatte an einen Speicherort in der Verzeichnisstruktur. Jede Datei hat mindestens einen Hard Link , andernfalls wäre sie in keinem Verzeichnis vorhanden. Wenn eine Datei über mehrere Hard Links verfügt, kann die ursprüngliche Datei nicht von den anderen unterschieden werden, und die Datei ist physisch nur an einer Position vorhanden.

Beide haben ihre Einschränkungen:

  • Einige Software funktioniert nicht gut mit Symlinks .
  • Durch das Löschen der ursprünglichen Datei werden alle Symlinks unterbrochen.
  • Sie können nicht Hard Link -Ordner( aber Sie können eine Verzeichnis Junction erstellen, wenn ein Symlink nicht genug ist).
  • Erstellen von Partitionen mit mehreren Partitionen Hard Links ist nicht möglich.

Symlinks sind normalerweise ausreichend.

So erstellen Sie einen Symlink oder einen festen Link:

1. Starten Sie eine privilegierte Befehlszeile: Drücken Sie die Windows-Taste , geben Sie cmd ein und drücken Sie Strg + Umschalt + Eingabe .

2. Den mklink-Befehl 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 eine Directory Junction

Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.