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, 1808 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 ..
Ähnliche Inhalte
Windows Server
gelöst Dynamisches Laufwerk Rückgängig machen (10)

Frage von Fruehling2017 zum Thema Windows Server ...

Windows Server
Nach tägl. Neustart rotes X beim Netzlaufwerk (11)

Frage von Speedysurf zum Thema Windows Server ...

Windows Tools
Offlinesync von DFS Laufwerk unter Windows 10

Frage von Korpi-89 zum Thema Windows Tools ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...