AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist
Thema durchsuchen
Ansicht
Themen-Optionen

Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

Ein Thema von DelTurbo · begonnen am 13. Sep 2023 · letzter Beitrag vom 14. Sep 2023
Antwort Antwort
Seite 1 von 2  1 2      
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#1

Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 15:31
Hi,
also ich habe nun alles was mir eingefallen bei Google und hier gesucht. Ich komme nicht auf die Lösung.
Entweder such ich falsch oder es ist nicht so einfach.

Ich möchte mit FindFirst und FindNext (wenn es damit geht) die Directory Struktur von C: einlesen. Dabei möchte ich feststellen ob das was ich grade bekommen habe (z.b. C:\Progamme) ein link ist und wo er hinzeigt. Ich habe alle Versionen die in diesem Thread stehen probiert. Ich bekomme immer den gleichen Namen zurück allerdings ohne Laufwerk. Also das C: fehlt.

Nun weiß ich echt nicht mehr weiter. Was mache ich falsch? bzw. wie macht man sowas?
Und Unix hatte ich das ruckzuck. Das ist aber leider nicht Portierbar.

Vielen dank im Voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 15:38
C:\Programme ist kein Link, das ist eine Lokalisierung an "C:\Program Files" und kommt aus der Desktop.ini, in diesem Verzeichnis.

Wenn du sowas automatisch übersetzt haben willst, dann mußt du mit den ShellFolder-Interfaces arbeiten.
https://learn.microsoft.com/de-de/wi...2/shell/folder



OK, in deutschen Windowsen gibt es für viele Verzeichnisse doch einen "defekten" Link Junction, falls wer über die normale FileAPIs versucht den übersetzten Namen zu benutzen.
Müssten die da nicht in den FileAttributen was drin haben?

[add]
Bei Google suchendelphi Junction
https://stackoverflow.com/questions/...tion-in-delphi
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Sep 2023 um 15:42 Uhr)
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#3

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 15:44
Huhu,
das mag sein. Aber ich habe mit mklink selber Links angelegt. Bei denen klappt auch nix. Leider. Könntest du ansonsten eventuell noch 1-2 Schlagworte mitgeben oder hast du eventuell ein Beispiel. Ich glaube da würde ich mich nass machen

Hehe, hast du eine Glaskugel oder sowas?!? Während ich geschrieben habe haust du das schon rein, irre...
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo (13. Sep 2023 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 15:47
Ich kann gerade nicht sagen, ob das in D2007 schon verfügbar ist, aber in aktuellen Delphi-Versionen gibt es in System.Sysutils ein FileGetSymLinkTarget.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#5

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 15:52
Leider nicht.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#6

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 16:08
Mit JclNTFS klappt es.

Vielen dank an euch, ich hätte NIE gefunden.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#7

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 16:46
Hmmm,
tut mir leid, aber noch eine Frage. Wie finde ich heraus das C:\Programme auf C:\Program Files zeigt? Mount ich es unter Unix kann man es sehen. Das find ich leider nicht in der Unit.

Unix ausgabe:
Code:
drwxrwxrwx 1 root root      4096 Sep 11 10:21  ProgramData
lrwxrwxrwx 2 root root        18 Mar 18  2022  Programme -> '/mnt/Program Files'
Nachtrag: bei NtfsIsFolderMountPoint bekomme ich ein True zurück.

Noch ein Nachtrag:
Das läuft auf keinem Windows.

Das Sysinternals läuft einwandfrei.

Code:
C:\>junction.exe C:\Programme

Junction v1.07 - Creates and lists directory links
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

C:\Programme: JUNCTION
   Print Name    : C:\Program Files
   Substitute Name: C:\Program Files


C:\>junc.exe C:\Programme
Directory: "C:\Programme"
Junctions found: 0

C:\>
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo (13. Sep 2023 um 18:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#8

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 18:35
Der vorige Inhalt des Beitrags war falsch, hab doch tatsächlich die Junction C:\Programme übersehen .

Geändert von Dalai (13. Sep 2023 um 18:38 Uhr) Grund: Falscher Fehler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#9

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 13. Sep 2023, 20:52
Zitat:
junction.exe
CMD: DIR kann man auch dafür verwenden

Code:
dir /AL C:\
dir /AL C:\Users
dir /AL C:\Users\%username%
Code:
dir /AL /S C:\
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Sep 2023 um 20:59 Uhr)
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#10

AW: Laufwerk C:\ einlesen und erfahren das C:\Programme ein link ist

  Alt 14. Sep 2023, 10:18
Huhu,
da waren 2 Fehler in dem ding von sourceforce. Die habe ich grade geändert. Nun weiß ich nicht ob ich die sagen darf oder hochladen soll mit Quellen Angabe.

Die Ausgabe unter Delphi ist nun wie folgt.

Code:
Directory: "C:\Programme"
Junction: "C:\Programme" --> "C:\Program Files"
Junctions found: 1
Oder wenn es einfach eine Dir ist, so:
Code:
Directory: "C:\tmp"
Junctions found: 0
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 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