Gibt es eine API in Windows, die den Servernamen von einem UNC-Pfad abruft? (\\ server \ share)
Oder muss ich mein eigenes machen?
Ich habe PathStripToRoot gefunden, aber es funktioniert nicht.Abrufen des Servernamens von einem UNC-Pfad
Antwort
Ich weiß nicht, ob es eine bestimmte API dafür gibt, ich würde einfach die einfache String-Behandlung selbst implementieren (über "\\" überspringen oder null zurückgeben, nach next \ oder end of string suchen und zurückgeben) dieser Teilstring) möglicherweise zuerst PathIsunc() aufrufen
Ich kenne keine Win32-API zum Parsen eines UNC-Pfads; jedoch sollten Sie prüfen:
\\computername\share
\\?\UNC\computername\share
(Menschen nutzen diese lange Pfade> 260 Zeichen zuzugreifen)- Sie optional behandeln können auch diesen Fall:
smb://computername/share
und diesen Fallhostname:/directorypath/resource
Dies ist nicht getestet, aber möglicherweise eine Kombination von PathIsUNC() und PathFindNextComponent() würde den Trick machen.
Wenn Sie die Daten als Nur-Text erhalten, sollten Sie in der Lage sein, es mit einer einfachen Regex zu analysieren, nicht sicher, welche Sprache Sie verwenden, aber ich neige dazu, Perk für schnelle Suchen wie folgt zu verwenden. Angenommen, Sie haben ein großes Dokument, das mehrere Zeilen mit einem Pfad pro Zeile enthält, können Sie nach \\ 's suchen: m/\\\\ ([0-9] [0-9] [0-9] \. (Wiederholen 3 mal, natürlich nicht die IP-Adresse Anforderungen, die Sie müssen möglicherweise die erste Änderung sicher) dann \\)? Um es optional zu machen und den abschließenden Schrägstrich zu enthalten, und schließlich (. *) \\/ig ist es grob, sollte aber den Trick machen, und der Pfadname sollte in $ 2 für den Gebrauch sein!
Ich hoffe, das war klar genug!
- 1. Abrufen des Servernamens während der Servlet-Initialisierung
- 2. Abrufen des Servernamens aus Verbindungszeichenfolge Definiert in Datei App.config?
- 3. Verwenden des Formular-Kombinationsfelds zum Ändern des Servernamens der Verbindungszeichenfolge
- 4. Abrufen des CurrentBackgroundImage-Pfads von einem UIImage
- 5. Abrufen des Anzeigenamens des Benutzers von WindowsIdentity
- 6. Abrufen des Ordnernamens aus einem Pfad
- 7. Abrufen des Benutzerkontos von ActiveDirectory
- 8. Abrufen des Tabellennamens von ActiveRecord
- 9. Abrufen des Kategorietextes von EventLogEntry.Category
- 10. Abrufen des Dateinamens von einem Speicherort in Java
- 11. Abrufen des Bildlaufwerts von einem WebBrowser-Steuerelement C#
- 12. Abrufen des Dateinamens von HTTP-Download-Datei
- 13. Abrufen des Rückgabewertes von JDBC MSSQL
- 14. Android: Abrufen des Kontaktnamens von der Telefonnummer
- 15. Programmgesteuertes Abrufen des Webanforderungsinitiators
- 16. Abrufen von Daten von einem inappbrowser
- 17. Abrufen des Eigenschaftsnamens des Objekts
- 18. Anwendungskontext von einem CommandLinerRunner abrufen
- 19. Daten von einem Array abrufen?
- 20. Miniaturansichten von einem JSON abrufen
- 21. Abrufen des aktuellen Modulnamens
- 22. Abrufen des JSON-Schlüssels und des Werts
- 23. Abrufen des Assemblynamens
- 24. Abrufen des Windows-Benutzerspracheneinstellungswerts
- 25. Abrufen des SCON-Stammverzeichnisses
- 26. Abrufen des PublicKeyToken von .Net-Assemblies
- 27. Abrufen von nur Eigenschaften des Kindes Klasse
- 28. Abrufen des Domänennamens anstelle von IP
- 29. Abrufen des Dateinamens von komplexen URI
- 30. Abrufen des Servicenamens von QDBusConnection mit Qt5
das ist, was ich für jetzt getan habe, aber überprüft, ob es einen gibt, falls es Ausnahmen gibt – CiNN
Was ist wenn die ist eigentlich eine IP-Adresse und nicht ein Computername? –
die IP-Adresse wird keinen Schrägstrich enthalten, solange Sie nur nach einem Schrägstrich suchen, kein Problem. – benPearce