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, 1791 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
Ähnliche Inhalte
Windows 10
Surface 4 Pro Netzlaufwerk verbinden (4)

Frage von Yannosch zum Thema Windows 10 ...

Windows Netzwerk
Netzlaufwerk offline verfügbar für Mac

Frage von PharIT zum Thema Windows Netzwerk ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

Windows 10
VPN Netzlaufwerk leer (4)

Frage von Edaseins zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...