AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren
Thema durchsuchen
Ansicht
Themen-Optionen

Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

Ein Thema von DieDolly · begonnen am 22. Feb 2021 · letzter Beitrag vom 23. Feb 2021
Antwort Antwort
Seite 1 von 2  1 2      
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 22. Feb 2021, 20:49
Gibt es eine Möglichkeit einen Netzwerk-Pfad wie beispielsweise \\nas\media1 so zu verarbeiten, dass ich den gemappten Laufwerksbuchstaben und Pfad in Windows davon bekomme?
\\nas\media1 ist in Windows mit S:\ gemappt und dem Standard-Namen "media1 (\\nas)".

Wenn ich einen Pfad \\nas\media1\geschnitten habe, würde ich nach dem Konvertieren gerne S:\geschnitten erhalten. Ist sowas möglich?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 22. Feb 2021, 21:59
Hi Dolly, MicMic hat auf meinem Eintrag noch nicht geantwortet. Kannst Du den Code von hier mal testen?
Ich habe zZt. keinen echten Pc hier um das zu machen.

Sonst fällt mir nur ein sich mal mit WMI Objects mal anzufreunden oder Dein eigener Tipp aus dem Link
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 22. Feb 2021, 22:23
Dein Code ergibt, wenn man ihn mit "\\nas\media1" aufruft => "\\?\UNC\nas\media1".
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 04:29
Vielleicht das?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 07:19
Das mappt ein Laufwerk. Gemappt ist es ja schon.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#6

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 10:45
Also was in jedem Fall geht, ist Folgendes: logische Laufwerke ermitteln, diese durchlaufen und daraus die Buchstaben der Netzlaufwerke (DRIVE_REMOTE) ermitteln. Vielleicht kann man sogar gleich nur die Netzlaufwerke holen, aber da wüsste ich aktuell nicht, mit welcher Funktion das ginge. Sobald man die Netzlaufwerke hat, kann man mit MSDN-Library durchsuchenWNetGetConnection oder MSDN-Library durchsuchenWNetGetUniversalName für jeden Buchstaben den zugehörigen UNC-Pfad holen. Und am Ende müsstest du nur noch mit dem gegebenen UNC-Pfad vergleichen und bei Übereinstimmung hast du den passenden Buchstaben gefunden.

Ist eigentlich logisch, dass es nur Funktionen für diese Richtung (Buchstabe -> UNC-Pfad) gibt, denn ein Netzlaufwerk muss einem UNC-Pfad zugeordnet sein, aber ein UNC-Pfad muss nicht notwendigerweise als Netzlaufwerk gemappt sein. Aber aus obigen Informationen kannst du dir ja sowas basteln.

Grüße
Dalai
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 10:56
Klingt kompliziert. Wäre alles gar nicht nötig, wenn Das TreeView von MustangpeakVirtualshellTools das unterstützen würde.
Ich benutze das von MustangpeakVirtualshellTools, weil ich es nicht hinbekomme einen "Explorer" (mit CheckBoxen und "anchecken" aller Nodes anhand einer StringList) mit dem normalen VirtualStringTree nachzubilden.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 12:11
Klingt kompliziert.
Du schreibst das ziemlich oft.
Aber genau darum geht es bei der Entwicklung von Software und dem Programmieren an und für sich.
Man löst komplizierte Probleme. Die Lösungen bilden das manchmal ab.
Wenn man nicht gewillt ist, sich darauf einzulassen, hat man vielleicht den falschen Job bzw. ein unpassendes Hobby gewählt.

Wobei hier der Lösungsvorschlag von Dalei ziemlich trivial ist und auf ein paar Zeilen in einer kleinen Klasse zu erschlagen ist.

Du iterierst von A bis Z die Laufwerkbuchstaben.
Die Laufwerke, die per GetDriveType() Funktion ein DRIVE_REMOTE zurückliefen, merkst du dir in einem Container.
Es bietet sich TDictionary<string, string> an. Wobei der Key der UNC-Pfad ist und Value dann der Laufwerksbuchstabe.
Wenn du dann im weiteren Programverlauf ein UNC-Pfad bekommst, kannst du dein Dictionary einfach nach dem Laufwerksbuchstaben fragen.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#9

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 12:17
Zitat:
Du schreibst das ziemlich oft.
Kompliziert heißt ja nicht unmöglich
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Netzwerk-Adresse/UNC-Pfad zu normalem Pfad konvertieren

  Alt 23. Feb 2021, 12:25
Das mappt ein Laufwerk. Gemappt ist es ja schon.
OK. Hatte ich falsch verstanden.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  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 18:44 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