Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   MKLINK Windows 10 (https://www.delphipraxis.net/207173-mklink-windows-10-a.html)

MicMic 1. Mär 2021 19:44

MKLINK Windows 10
 
Hallo,

mit MKLINK kann man 2 Situationen schaffen, die ich nicht verstehe.

MKLINK textdatei.txt c:\windows
MKLINK datei c:\windows
Hier erstelle ich Dateien ("textdatei.txt" oder "datei"). Ziel ist ja "c:\windows". Die Datei kann man natürlich nicht öffnen.

MKLINK /J Ordner1 adresse.txt
MKLINK /J Ordner1.txt adresse.txt
Beide werden als Verzeichnis betrachtet aber Ziel ist eine Datei "adresse.txt". Das geht natürlich auch nicht.

Haben diese Erstellungsmöglichkeiten einen Sinn?

Mike

KodeZwerg 1. Mär 2021 20:00

AW: MKLINK Windows 10
 
Also mit der /J Angabe, der erste Parameter ist der Symbolische Link, der zweite Parameter worauf der Link zeigen soll.

Um ehrlich zu sein habe ich die Frage nicht so richtig verstanden.

MicMic 1. Mär 2021 20:04

AW: MKLINK Windows 10
 
@KodeZwerg
Erstelle doch mal solches. Es macht halt so kein Sinn oder ich verstehe es nicht.
Beim ersten Beispiel, erstelle ich wie gesagt eine Datei, die auf ein Verzeichnis zielt. Man kann ja mit der Datei dann kein Verzeichnis öffnen bzw. die Datei lesen und beim 2. Beispiel ist es halt andersrum. Ich erstelle ein Verzeichnis was man nicht öffnen kann, weil das Ziel ja eine Datei ist.

KodeZwerg 1. Mär 2021 20:17

AW: MKLINK Windows 10
 
Ich teste es mal so wie es bei Microsoft beschrieben wird.

himitsu 1. Mär 2021 20:35

AW: MKLINK Windows 10
 
Es ist eigentlich recht einfach.

OK, MKLINK könnte selbst so "schlau" sein und aufpassen, dass man bei Verzeichnis-Links nur Verzeichnisse und bei Datei-Links nur Dateien angeben kann, aber es ist doof und macht blind das, was du ihm sagst.


/D = Verzeichnislink
/J = Junction
/H = Hardlink

Was man nimmt, hängt vom "Target" ab.

Und ob den "Link" textdatei.txt, ordner1 oder sonstwie nennst, ist egal ... das sind bloß "Namen" und wenn man will, dann kann man ein Verzeichnis eben auch "Datei.txt" nennen.



Ich empfehle die englische Seite. (kannst einfach in der URL de-de gegen en-US ersetzen)
Die Deutschen Artikel sind fast alle "automatisch" übersetzet und da gibt es dann paar Fehler, wenn "Bezeichner" und Parameternamen mit übersetzt wurden.

MicMic 1. Mär 2021 21:09

AW: MKLINK Windows 10
 
@himitsu
Wie MKLINK funktioniert, weiß ich ja. Wolle aber auf diese 2 Beispiele eingehen.
Es macht halt kein Sinn aber wollte dies dennoch mal ansprechen, da ich vielleicht was falsch verstehe.
Also war hier ein MS-Programmierer wohl nicht ganz ausgeschlafen ;-)

himitsu 1. Mär 2021 21:11

AW: MKLINK Windows 10
 
Jo, Sinn macht es nicht, aber MKLINK fängt eben viele Fehler nicht ab, also mußt du aufpassen.

MicMic 1. Mär 2021 21:56

AW: MKLINK Windows 10
 
Zitat:

Zitat von himitsu (Beitrag 1484208)
Jo, Sinn macht es nicht, aber MKLINK fängt eben viele Fehler nicht ab, also mußt du aufpassen.

Ja, wie z.B. ein Symlink setzen zum Parent-Verzeichnis.
Da kann man dann in ein Verzeichnis rein, weiter rein und weiter rein und es bleibt immer dasselbe. Eben mal getestet. Irgendwann gibt's aber eine Bremse und Windows verweigert weitere Vertiefungen. Macht jedenfalls auch kein Sinn. ;-) Ich probiere halt solche Sachen aus, damit ich selbst bei meiner Programmierung evtl. Fallbacks machen kann, wenn nötig.

himitsu 1. Mär 2021 22:02

AW: MKLINK Windows 10
 
Blende dir im Explorer mal ALLE Dateien ein. (System/Hidden)

C:\
C:\Users
C:\ProgramData

Da hast überall Links, aber die Zeigen "nirgendwo" hin.
Die sind nur zum Blockieren, damit niemand in einem deutschen lokalisierten Windows auf C:\Benutzer zugreifen kann, da es ja eigentlich C:\Users heißt, aber übersetzt angezeigt wird.

Dalai 1. Mär 2021 22:24

AW: MKLINK Windows 10
 
Von mir nur eine Ergänzung bzw. kleine Korrektur.

Zitat:

Zitat von KodeZwerg (Beitrag 1484192)
Also mit der /J Angabe, der erste Parameter ist der Symbolische Link, der zweite Parameter worauf der Link zeigen soll.

Mit /J erstellt man eine Junction (Abzweigpunkt), keinen symbolischen Link. Das ist ein wichtiger Unterschied, in Bezug auf die für die Erstellung nötigen Berechtigungen, fürs Parsen des Ziels vor allem bei Netzlaufwerken/UNC-Pfaden, für den Link an sich (relativ vs. absolut) usw.

Zitat:

Zitat von himitsu (Beitrag 1484203)
/D = Verzeichnislink
/J = Junction
/H = Hardlink

Und ohne Parameter wird's ein Symlink (auf eine Datei).

Zitat:

Was man nimmt, hängt vom "Target" ab.
Jep. Wie sagt man so schön: Es kommt darauf an (was man machen will) ;).

Grüße
Dalai


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz