Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBScript - Netzlaufwerk von gemappten Laufwerk unterscheiden

Frage Entwicklung VB for Applications

Mitglied: Hein-nieH

Hein-nieH (Level 1) - Jetzt verbinden

09.09.2013 um 18:57 Uhr, 1795 Aufrufe, 5 Kommentare

Netzwerklaufwerk vom gemappten Laufwerk unterscheiden

Hallo,

ich hoffe, dass ich hier im richtigen Forenbereich bin.
Mein Problem

In VBScript erhalte ich 2 absolute Pfade.
Nun möchte ich unterscheiden, ob die beiden Pfade identisch sind.
Hierbei benötige ich eine Lösung, um auch gemappte Pfade zu unterscheiden.

z.B.
U:\Eigene Dateien\Test und
\\MickeyMouse.local\user\home\Meier\Eigene Dateien

koenne ja das selbe Verzeichnis sein.
Ueber einen stringbasierten Verzeichnisvergleich komme ich nicht weiter.

Wie kann ich das in VBscript loesen.
Ueber einen Lösungsansatz waere ich sehr dankbar.

Gruss Hein_nieH
Mitglied: bastla
09.09.2013, aktualisiert um 19:43 Uhr
Hallo Hein-nieH!

Die Methode "EnumNetworkDrives" von "WScript.Network" könnte (zusammen mit einem "Replace()") helfen ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
09.09.2013, aktualisiert um 23:53 Uhr
Hallo Hein-nieH.

U:\Eigene Dateien\Test und
\\MickeyMouse.local\user\home\Meier\Eigene Dateien

koenne ja das selbe Verzeichnis sein.
Naja, nicht wirklich. Das Verzeichnis "Test" sollte dann auch im Netzwerkpfad erscheinen.

Ansonsten hat bastla aber die richtigen Stichworte genannt. Den Test kannst du in einer Funktion abwickeln, die dir einen Wahrheitswert zurückgibt.
Beispiel:
01.
Option Explicit 
02.
 
03.
Const strPath1 = "U:\Eigene Dateien\Test" 
04.
Const strPath2 = "\\MickeyMouse.local\user\home\Meier\Eigene Dateien\Test" 
05.
 
06.
If NetPathCompare(strPath1, strPath2) Then 
07.
  WScript.Echo "Gleich" 
08.
Else 
09.
  WScript.Echo "Ungleich" 
10.
End If 
11.
 
12.
 
13.
Function NetPathCompare(ByVal strPath_1, ByVal strPath_2) 
14.
  NetPathCompare = False 
15.
 
16.
  ' Der einfachste Fall ... Textvergleich. 
17.
  If StrComp(strPath_1, strPath_2, vbTextCompare) = 0 Then 
18.
    NetPathCompare = True 
19.
    Exit Function 
20.
  End If 
21.
 
22.
  ' Ansonsten versuchen Netzlaufwerke aufzulösen. 
23.
  Dim colDrives, strDrive_1, strDrive_2, strShare_1, strShare_2, i 
24.
  strDrive_1 = Left(strPath_1, 2) 
25.
  strDrive_2 = Left(strPath_2, 2) 
26.
  strShare_1 = strDrive_1 
27.
  strShare_2 = strDrive_2 
28.
  Set colDrives = CreateObject("WScript.Network").EnumNetworkDrives 
29.
  For i = 0 To colDrives.Count - 1 Step 2 
30.
    If StrComp(strDrive_1, colDrives.Item(i), vbTextCompare) = 0 Then 
31.
      strShare_1 = colDrives.Item(i + 1) 
32.
    End If 
33.
    If StrComp(strDrive_2, colDrives.Item(i), vbTextCompare) = 0 Then 
34.
      strShare_2 = colDrives.Item(i + 1) 
35.
    End If 
36.
  Next 
37.
  strPath_1 = Replace(strPath_1, strDrive_1, strShare_1, 1, 1, vbTextCompare) 
38.
  strPath_2 = Replace(strPath_2, strDrive_2, strShare_2, 1, 1, vbTextCompare) 
39.
  If StrComp(strPath_1, strPath_2, vbTextCompare) = 0 Then NetPathCompare = True 
40.
End Function
Voraussetzung dafür, dass das funktionieren kann ist, dass die Netzlaufwerke auf deinem PC genauso gemappt sind, wie auf der Quelle, von der du die Pfade beziehst.

Grüße
rubberman
Bitte warten ..
Mitglied: manuel-r
10.09.2013 um 00:35 Uhr
Man könnte in Pfad/Laufwerk 1 eine Textdatei erstellen und danach prüfen, ob eben diese Textdatei in Pfad/Laufwerk 2 jetzt auch existiert. Falls ja handelt es sich um das gleiche Ziel bzw. die gleiche Ressource
Nur mal so als Idee...
Bitte warten ..
Mitglied: Hein-nieH
10.09.2013 um 09:58 Uhr
Hallo Bastla,

die Idee ist gut und funktioniert bei mir auch.
Ich habe eine for each Schleife über EnumNetworkdrives laufen lassen und gepfüft, ob mein Dateipfad mit dem
Namen des Netzwerkpfades beginnt. Wenn ja, dann habe ich den Netzwerkpfad durch das gemappte Laufwerk
ersetzt.
Irgendwie bin ich gestern bei der Lösungssuche nicht drauf gekommen.

Gruss Hein-nieH
Bitte warten ..
Mitglied: Hein-nieH
10.09.2013 um 10:00 Uhr
Hallo Manuel-r,

die Idee ist gut und einfach nachvollziehbar.
Ich habe mich für die Lösung von Bastls entschieden.

Trotzdem vielen Dank.
Gruss Hein-nieH
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
Office 365 business essentials Netzlaufwerk (2)

Frage von achim222 zum Thema Microsoft Office ...

Drucker und Scanner
Weiterdrucken nicht möglich kein speicherplatz mehr auf laufwerk (4)

Frage von Ghost108 zum Thema Drucker und Scanner ...

Visual Studio
gelöst VBScript und WMI (Win32-NetworkAdapterConfiguration) (3)

Frage von MaxMoritz6 zum Thema Visual Studio ...

Windows Server
Keine Zugriffsberechtigung für Home Laufwerk und Profil Pfad (3)

Frage von florianza zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...